home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Developers / apps.to.go / •Sample Applications / OD embedding part / OD embedding part.rsrc
MacOS Resource Fork  |  1994-07-18  |  113.4 KB  |  [Prtm/PrtM]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacOS Resource Fork (archive/rsrc).

You can browse this item here: OD embedding part.rsrc

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert MacOS Resource Fork (archive/rsrc) magic Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert BeOS Resource Data (archive/beOSResourceData) ext Unsupported
1% dexvert AppleSingle (archive/appleSingle) fallback Supported
1% dexvert TTComp Archive (archive/ttcomp) fallback Supported
100% file AppleDouble encoded Macintosh file default
99% file data default
66% TrID Mac AppleDouble encoded default
33% TrID TTComp archive compressed (bin-2K) default (weak)
100% lsar AppleSingle default


id metadata
keyvalue
macFileType[Prtm]
macFileCreator[PrtM]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 16 07 00 02 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 02 00 00 00 09 00 00 |........|........|
|00000020| 00 32 00 00 00 20 00 00 | 00 02 00 00 00 52 00 01 |.2... ..|.....R..|
|00000030| c5 6a 50 72 74 6d 50 72 | 74 4d 00 00 00 00 00 00 |.jPrtmPr|tM......|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 01 00 00 01 | c4 cf 00 01 c3 cf 00 00 |........|........|
|00000060| 00 9b 0f f7 06 ff 80 01 | 00 86 f8 03 03 05 f9 12 |........|........|
|00000070| 67 10 6b 01 00 ea 32 01 | 22 ca 67 6b 01 01 7e 51 |g.k...2.|".gk..~Q|
|00000080| 20 19 11 4f 44 20 65 6d | 62 65 64 64 69 6e 67 20 | ..OD em|bedding |
|00000090| 70 61 72 74 02 00 00 00 | 50 72 74 6d 50 72 74 4d |part....|PrtmPrtM|
|000000a0| 00 00 00 00 50 72 74 6d | 50 72 74 4d 00 00 00 00 |....Prtm|PrtM....|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 aa e5 83 e6 | 00 00 00 00 00 01 c5 6a |........|.......j|
|000000d0| d7 82 01 fe ec 52 59 01 | fe ec 20 00 47 6d 6b 01 |.....RY.|.. .Gmk.|
|000000e0| 00 d0 51 7e 54 32 12 22 | ba 50 8f 6b 01 00 be 7f |..Q~T2."|.P.k....|
|000000f0| 64 4d c0 5b 58 7e 6a 32 | 20 25 6b 01 00 a2 51 7e |dM.[X~j2| %k...Q~|
|00000100| 5e 32 20 1d 80 01 00 8c | d4 01 fe f8 76 2b 32 01 |^2 .....|....v+2.|
|00000110| 15 c2 7a 5f 76 5f 57 01 | fe b8 50 3a 01 4a 80 6d |..z_v_W.|..P:.J.m|
|00000120| 01 67 40 57 2b 52 7f 7e | 16 00 3c 20 68 00 3c 20 |.g@W+R.~|..< h.< |
|00000130| 50 20 50 22 68 20 0e 9d | 48 20 1f 20 26 20 20 03 |P P"h ..|H . & .|
|00000140| 60 16 42 06 60 12 44 50 | 01 08 d2 50 01 02 1a 20 |`.B.`.DP|...P... |
|00000150| 08 01 00 00 00 0e 00 28 | 00 14 00 e4 01 62 13 88 |.......(|.....b..|
|00000160| 44 44 30 0a 00 00 00 e4 | 00 01 00 00 00 00 00 9a |DD0.....|........|
|00000170| 00 7f 00 ae 00 cf 04 02 | 4f 4b 00 00 00 00 00 0c |........|OK......|
|00000180| 00 12 00 90 01 46 88 c3 | 48 65 6c 6c 6f 50 61 72 |.....F..|HelloPar|
|00000190| 74 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t | |
|000001a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000001b0| 20 20 20 20 20 20 0d 0d | 20 20 42 79 20 54 61 6e | ..| By Tan|
|000001c0| 74 65 6b 20 82 65 6c 69 | 6b 2c 20 45 72 69 63 20 |tek .eli|k, Eric |
|000001d0| 53 6f 6c 64 61 6e 2c 20 | 61 6e 64 20 4a 65 6e 73 |Soldan, |and Jens|
|000001e0| 20 41 6c 66 6b 65 2e 0d | 0d 20 20 28 57 69 74 68 | Alfke..|. (With|
|000001f0| 20 68 65 6c 70 20 66 72 | 6f 6d 20 50 61 72 74 4d | help fr|om PartM|
|00000200| 61 6b 65 72 aa 2c 20 6f | 66 20 63 6f 75 72 73 65 |aker., o|f course|
|00000210| 2e 29 0d 0d 20 20 43 6f | 70 79 72 69 67 68 74 20 |.).. Co|pyright |
|00000220| 31 39 39 34 20 41 70 70 | 6c 65 20 43 6f 6d 70 75 |1994 App|le Compu|
|00000230| 74 65 72 2e 0d 20 20 41 | 6c 6c 20 52 69 67 68 74 |ter.. A|ll Right|
|00000240| 73 20 52 65 73 65 72 76 | 65 64 2e 6d 00 00 00 19 |s Reserv|ed.m....|
|00000250| 13 88 00 00 00 00 00 00 | 00 00 ff ff ff ff 09 48 |........|.......H|
|00000260| 65 6c 6c 6f 50 61 72 74 | 00 00 00 00 44 00 04 12 |elloPart|....D...|
|00000270| 48 65 6c 6c 6f 50 61 72 | 74 20 63 6f 6e 74 65 6e |HelloPar|t conten|
|00000280| 74 2e 10 41 62 6f 75 74 | 20 48 65 6c 6c 6f 50 61 |t..About| HelloPa|
|00000290| 72 74 c9 0e 53 68 6f 77 | 20 50 61 72 74 73 20 42 |rt..Show| Parts B|
|000002a0| 69 6e 0e 48 69 64 65 20 | 50 61 72 74 73 20 42 69 |in.Hide |Parts Bi|
|000002b0| 6e 00 00 00 13 00 3c 00 | 28 03 4b 03 55 00 08 01 |n.....<.|(.K.U...|
|000002c0| 00 01 00 00 00 00 00 00 | 00 01 c2 53 00 05 00 12 |........|...S....|
|000002d0| 00 00 00 1a 00 00 00 02 | 00 00 00 1a 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 05 | 00 0d 00 00 00 1a 00 00 |........|........|
|00000300| 00 03 00 00 00 1a 63 75 | 73 74 00 00 00 00 00 00 |......cu|st......|
|00000310| 20 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | .......|........|
|00000320| 00 06 00 00 00 00 00 50 | 00 00 00 04 00 00 00 50 |.......P|.......P|
|00000330| 00 00 00 01 00 85 00 0d | 00 ae 01 00 00 00 00 00 |........|........|
|00000340| 00 01 0f ec 00 00 00 00 | 00 00 00 00 00 09 00 00 |........|........|
|00000350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 06 4e 61 6d |........|.....Nam|
|00000370| 69 6e 67 00 06 47 65 6e | 65 76 61 00 00 00 00 00 |ing..Gen|eva.....|
|00000380| 00 06 00 00 00 00 00 55 | 00 00 00 05 00 00 00 55 |.......U|.......U|
|00000390| 00 00 00 11 00 1d 00 20 | 00 73 01 00 00 00 00 00 |....... |.s......|
|000003a0| 00 01 0f e8 00 00 00 00 | 00 00 00 00 00 0c 01 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 0b 43 6c 61 |........|.....Cla|
|000003d0| 73 73 20 4e 61 6d 65 3a | 00 06 47 65 6e 65 76 61 |ss Name:|..Geneva|
|000003e0| 00 00 00 00 00 00 06 00 | 00 00 00 00 78 00 00 00 |........|....x...|
|000003f0| 06 00 00 00 78 00 00 00 | 0f 00 79 00 23 01 10 01 |....x...|..y.#...|
|00000400| 00 00 00 00 00 00 10 0f | a0 00 00 00 00 00 65 00 |........|......e.|
|00000410| 00 00 0c 00 00 00 02 00 | 02 ff fe ff fc 00 02 00 |........|........|
|00000420| 02 ff fe ff fe 00 00 00 | 00 00 00 00 00 ff f0 0b |........|........|
|00000430| 20 09 50 61 72 74 20 4e | 61 6d 65 00 00 06 31 30 | .Part N|ame...10|
|00000440| 30 30 2c 31 00 0f 50 61 | 72 74 4d 61 6b 65 72 53 |00,1..Pa|rtMakerS|
|00000450| 61 6d 70 6c 65 00 16 00 | 01 00 00 00 00 00 10 00 |ample...|........|
|00000460| 0c 00 01 00 00 00 00 00 | 00 00 00 00 00 00 06 00 |........|........|
|00000470| 00 00 00 00 44 00 00 00 | 07 00 00 00 44 00 00 00 |....D...|....D...|
|00000480| 07 00 07 00 2b 01 2c 01 | 00 00 00 00 00 00 01 0f |....+.,.|........|
|00000490| f2 00 00 00 00 00 00 00 | 00 00 0c 00 00 00 00 00 |........|........|
|000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 00 06 00 00 00 00 00 | 4d 00 00 00 08 00 00 00 |........|M.......|
|000004d0| 4d 00 00 00 c4 00 07 00 | d4 00 85 01 00 00 00 00 |M.......|........|
|000004e0| 00 00 01 10 00 00 00 00 | 00 00 64 00 00 00 0c 00 |........|..d.....|
|000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 09 48 65 |........|......He|
|00000510| 6c 6c 6f 50 61 72 74 00 | 00 00 00 00 00 00 00 06 |lloPart.|........|
|00000520| 00 00 00 00 00 54 00 00 | 00 09 00 00 00 54 00 00 |.....T..|.....T..|
|00000530| 00 a6 00 24 00 b6 00 63 | 01 00 00 01 00 00 00 01 |...$...c|........|
|00000540| 00 02 00 00 00 00 ff 38 | 00 00 00 0c 00 00 00 00 |.......8|........|
|00000550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000560| 00 00 00 00 00 00 00 00 | 00 00 06 43 46 72 6f 6e |........|...CFron|
|00000570| 74 00 00 0a 31 30 30 30 | 2c 34 3a 31 2c 35 00 00 |t...1000|,4:1,5..|
|00000580| 00 00 00 06 00 00 00 00 | 00 5f 00 00 00 0a 00 00 |........|._......|
|00000590| 00 5f 00 00 00 a6 00 7e | 00 b6 01 0d 01 00 00 00 |._.....~|........|
|000005a0| 00 00 00 01 00 02 00 00 | 00 00 ff 37 00 00 00 0c |........|...7....|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 11 53 |........|.......S|
|000005d0| 79 6d 61 6e 74 65 63 20 | 43 2b 2b 20 37 2e 30 31 |ymantec |C++ 7.01|
|000005e0| 00 00 0a 31 30 30 30 2c | 36 3a 31 2c 37 00 00 00 |...1000,|6:1,7...|
|000005f0| 00 00 06 00 00 00 00 00 | 57 00 00 00 0b 00 00 00 |........|W.......|
|00000600| 57 00 00 00 96 00 78 00 | a2 00 bb 01 00 00 00 00 |W.....x.|........|
|00000610| 00 00 01 0f ec 00 00 00 | 00 00 00 00 00 00 09 00 |........|........|
|00000620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 0d 42 75 |........|......Bu|
|00000640| 69 6c 64 20 4f 70 74 69 | 6f 6e 73 00 06 47 65 6e |ild Opti|ons..Gen|
|00000650| 65 76 61 00 00 00 00 00 | 00 06 00 00 00 00 00 44 |eva.....|.......D|
|00000660| 00 00 00 0c 00 00 00 44 | 00 00 00 9c 00 07 00 bc |.......D|........|
|00000670| 01 2c 01 00 00 00 00 00 | 00 01 0f f2 00 00 00 00 |.,......|........|
|00000680| 00 00 00 00 00 0c 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000690| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 06 00 00 |........|........|
|000006b0| 00 00 01 53 00 00 00 0d | 00 00 01 53 00 00 00 38 |...S....|...S...8|
|000006c0| 00 9d 00 8f 01 2a 01 ff | 00 00 00 00 7f ff 0f a0 |.....*..|........|
|000006d0| 00 00 00 00 00 00 00 00 | 00 0c 00 00 00 04 00 04 |........|........|
|000006e0| ff fc ff fa 00 04 00 04 | ff fc ff fc 00 00 00 00 |........|........|
|000006f0| 00 00 00 00 83 00 08 40 | 08 54 65 78 74 45 64 69 |.......@|.TextEdi|
|00000700| 74 00 00 00 00 3d 0d 0d | a5 20 53 69 6d 70 6c 65 |t....=..|. Simple|
|00000710| 20 41 62 6f 75 74 20 42 | 6f 78 0d 0d a5 20 46 61 | About B|ox... Fa|
|00000720| 63 65 74 20 43 6f 6c 6c | 65 63 74 69 6f 6e 0d 0d |cet Coll|ection..|
|00000730| a5 20 45 6d 70 74 79 20 | 43 75 73 74 6f 6d 20 4d |. Empty |Custom M|
|00000740| 65 6e 75 00 ca 00 0a 00 | 00 00 00 00 0c 00 0a 00 |enu.....|........|
|00000750| 01 00 00 00 09 00 00 00 | 00 00 00 00 00 00 01 00 |........|........|
|00000760| 05 00 04 00 01 01 00 00 | 04 00 00 00 00 00 00 00 |........|........|
|00000770| 00 00 02 00 0c 00 0a 00 | 01 00 00 00 09 00 00 00 |........|........|
|00000780| 00 00 00 00 00 00 04 00 | 0c 00 0a 00 01 01 00 00 |........|........|
|00000790| 09 00 00 00 00 00 00 00 | 00 00 15 00 05 00 04 00 |........|........|
|000007a0| 01 01 00 00 04 00 00 00 | 00 00 00 00 00 00 16 00 |........|........|
|000007b0| 0c 00 0a 00 01 00 00 00 | 09 00 00 00 00 00 00 00 |........|........|
|000007c0| 00 00 18 00 0c 00 0a 00 | 01 01 00 00 09 00 00 00 |........|........|
|000007d0| 00 00 00 00 00 00 29 00 | 05 00 04 00 01 01 00 00 |......).|........|
|000007e0| 04 00 00 00 00 00 00 00 | 00 00 2a 00 0c 00 0a 00 |........|..*.....|
|000007f0| 01 00 00 00 09 00 00 00 | 00 00 00 00 00 00 2c 00 |........|......,.|
|00000800| 0c 00 0a 00 01 01 00 00 | 09 00 00 00 00 00 00 00 |........|........|
|00000810| 06 00 00 00 00 01 47 00 | 00 00 0e 00 00 01 47 00 |......G.|......G.|
|00000820| 00 00 38 00 0f 00 8f 00 | 9c 01 ff 00 00 00 00 7f |..8.....|........|
|00000830| ff 0f a0 00 00 00 00 00 | 00 00 00 00 0c 00 00 00 |........|........|
|00000840| 04 00 04 ff fc ff fa 00 | 04 00 04 ff fc ff fc 00 |........|........|
|00000850| 00 00 00 00 00 00 00 83 | 00 08 40 08 54 65 78 74 |........|..@.Text|
|00000860| 45 64 69 74 00 00 00 00 | 31 0d 0d a5 20 50 61 72 |Edit....|1... Par|
|00000870| 74 20 49 6e 66 6f 0d 0d | a5 20 53 68 6f 77 20 50 |t Info..|. Show P|
|00000880| 61 72 74 73 20 42 69 6e | 0d 0d a5 20 56 69 65 77 |arts Bin|... View|
|00000890| 20 41 73 20 57 69 6e 64 | 6f 77 00 ca 00 0a 00 00 | As Wind|ow......|
|000008a0| 00 00 00 0c 00 0a 00 01 | 00 00 00 09 00 00 00 00 |........|........|
|000008b0| 00 00 00 00 00 01 00 05 | 00 04 00 01 01 00 00 04 |........|........|
|000008c0| 00 00 00 00 00 00 00 00 | 00 02 00 0c 00 0a 00 01 |........|........|
|000008d0| 00 00 00 09 00 00 00 00 | 00 00 00 00 00 04 00 0c |........|........|
|000008e0| 00 0a 00 01 01 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000008f0| 00 0e 00 05 00 04 00 01 | 01 00 00 04 00 00 00 00 |........|........|
|00000900| 00 00 00 00 00 0f 00 0c | 00 0a 00 01 00 00 00 09 |........|........|
|00000910| 00 00 00 00 00 00 00 00 | 00 11 00 0c 00 0a 00 01 |........|........|
|00000920| 01 00 00 09 00 00 00 00 | 00 00 00 00 00 20 00 05 |........|..... ..|
|00000930| 00 04 00 01 01 00 00 04 | 00 00 00 00 00 00 00 00 |........|........|
|00000940| 00 21 00 0c 00 0a 00 01 | 00 00 00 09 00 00 00 00 |.!......|........|
|00000950| 00 00 00 00 00 23 00 0c | 00 0a 00 01 01 00 00 09 |.....#..|........|
|00000960| 00 00 00 00 00 00 00 06 | 00 00 00 00 00 5b 00 00 |........|.....[..|
|00000970| 00 0f 00 00 00 5b 00 00 | 00 2d 00 6e 00 39 00 c5 |.....[..|.-.n.9..|
|00000980| 01 00 00 00 00 00 00 01 | 0f ec 00 00 00 00 00 00 |........|........|
|00000990| 00 00 00 09 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009b0| 00 00 11 46 65 61 74 75 | 72 65 73 20 49 6e 63 6c |...Featu|res Incl|
|000009c0| 75 64 65 64 00 06 47 65 | 6e 65 76 61 00 00 00 00 |uded..Ge|neva....|
|000009d0| 00 00 06 00 00 00 00 00 | 44 00 00 00 10 00 00 00 |........|D.......|
|000009e0| 44 00 00 00 33 00 07 00 | 94 01 2c 01 00 00 00 00 |D...3...|..,.....|
|000009f0| 00 00 01 0f f2 00 00 00 | 00 00 00 00 00 00 0c 00 |........|........|
|00000a00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a20| 00 00 00 00 00 00 05 00 | 01 00 00 00 27 00 00 00 |........|....'...|
|00000a30| 11 00 00 00 27 31 30 30 | 30 00 00 13 89 00 00 20 |....'100|0...... |
|00000a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 0d 46 61 |........|......Fa|
|00000a50| 63 65 74 4c 69 73 74 2e | 63 70 70 00 00 06 00 00 |cetList.|cpp.....|
|00000a60| 00 00 06 26 00 00 00 12 | 00 00 06 26 00 00 ff ff |...&....|...&....|
|00000a70| ff ff 01 a5 02 6b 01 00 | 00 00 00 00 7f ff 0f a0 |.....k..|........|
|00000a80| 00 00 00 00 03 e9 00 00 | 00 0c 00 00 00 04 00 04 |........|........|
|00000a90| ff fc 07 d0 00 04 00 04 | ff fc ff fc 00 00 00 00 |........|........|
|00000aa0| 00 00 00 00 83 00 0b 6a | 08 54 65 78 74 45 64 69 |.......j|.TextEdi|
|00000ab0| 74 00 00 00 05 c4 2f 2a | 0d 09 46 69 6c 65 3a 09 |t...../*|..File:.|
|00000ac0| 09 46 61 63 65 74 4c 69 | 6e 6b 2e 63 70 70 0d 0d |.FacetLi|nk.cpp..|
|00000ad0| 09 43 6f 6e 74 61 69 6e | 73 3a 09 4c 69 6e 6b 65 |.Contain|s:.Linke|
|00000ae0| 64 20 6c 69 73 74 20 6f | 66 20 66 61 63 65 74 73 |d list o|f facets|
|00000af0| 2c 20 66 6f 72 20 75 73 | 65 20 62 79 20 70 61 72 |, for us|e by par|
|00000b00| 74 73 0d 0d 09 57 72 69 | 74 74 65 6e 20 62 79 3a |ts...Wri|tten by:|
|00000b10| 09 4a 65 6e 73 20 41 6c | 66 6b 65 0d 0d 2a 2f 0d |.Jens Al|fke..*/.|
|00000b20| 0d 23 69 66 6e 64 65 66 | 20 5f 46 41 43 45 54 4c |.#ifndef| _FACETL|
|00000b30| 49 53 54 5f 0d 23 69 6e | 63 6c 75 64 65 20 22 46 |IST_.#in|clude "F|
|00000b40| 61 63 65 74 4c 69 73 74 | 2e 68 22 0d 23 65 6e 64 |acetList|.h".#end|
|00000b50| 69 66 0d 0d 23 69 66 6e | 64 65 66 20 5f 45 58 43 |if..#ifn|def _EXC|
|00000b60| 45 50 54 5f 0d 23 69 6e | 63 6c 75 64 65 20 22 45 |EPT_.#in|clude "E|
|00000b70| 78 63 65 70 74 2e 68 22 | 0d 23 65 6e 64 69 66 0d |xcept.h"|.#endif.|
|00000b80| 0d 23 69 66 6e 64 65 66 | 20 5f 46 41 43 45 54 5f |.#ifndef| _FACET_|
|00000b90| 0d 23 69 6e 63 6c 75 64 | 65 20 22 46 61 63 65 74 |.#includ|e "Facet|
|00000ba0| 2e 68 22 0d 23 65 6e 64 | 69 66 0d 0d 0d 2f 2f 3d |.h".#end|if...//=|
|00000bb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//|
|00000c00| 20 46 61 63 65 74 4c 69 | 6e 6b 0d 2f 2f 3d 3d 3d | FacetLi|nk.//===|
|00000c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0d 0d 46 61 |========|===...Fa|
|00000c60| 63 65 74 4c 69 6e 6b 3a | 3a 46 61 63 65 74 4c 69 |cetLink:|:FacetLi|
|00000c70| 6e 6b 28 20 29 0d 09 3a | 66 46 61 63 65 74 28 6b |nk( )..:|fFacet(k|
|00000c80| 58 4d 50 4e 55 4c 4c 29 | 2c 0d 09 20 66 50 72 65 |XMPNULL)|,.. fPre|
|00000c90| 76 28 74 68 69 73 29 2c | 0d 09 20 66 4e 65 78 74 |v(this),|.. fNext|
|00000ca0| 28 74 68 69 73 29 0d 7b | 0d 7d 0d 0d 0d 46 61 63 |(this).{|.}...Fac|
|00000cb0| 65 74 4c 69 6e 6b 3a 3a | 46 61 63 65 74 4c 69 6e |etLink::|FacetLin|
|00000cc0| 6b 28 20 58 4d 50 46 61 | 63 65 74 20 2a 66 61 63 |k( XMPFa|cet *fac|
|00000cd0| 65 74 2c 20 46 61 63 65 | 74 4c 69 6e 6b 20 2a 6c |et, Face|tLink *l|
|00000ce0| 69 73 74 20 29 0d 09 3a | 66 46 61 63 65 74 28 66 |ist )..:|fFacet(f|
|00000cf0| 61 63 65 74 29 2c 0d 09 | 20 66 50 72 65 76 28 6c |acet),..| fPrev(l|
|00000d00| 69 73 74 29 2c 0d 09 20 | 66 4e 65 78 74 28 6c 69 |ist),.. |fNext(li|
|00000d10| 73 74 2d 3e 66 4e 65 78 | 74 29 0d 7b 0d 09 6c 69 |st->fNex|t).{..li|
|00000d20| 73 74 2d 3e 66 4e 65 78 | 74 20 3d 20 74 68 69 73 |st->fNex|t = this|
|00000d30| 3b 0d 09 66 4e 65 78 74 | 2d 3e 66 50 72 65 76 20 |;..fNext|->fPrev |
|00000d40| 3d 20 74 68 69 73 3b 0d | 7d 0d 0d 0d 46 61 63 65 |= this;.|}...Face|
|00000d50| 74 4c 69 6e 6b 3a 3a 7e | 46 61 63 65 74 4c 69 6e |tLink::~|FacetLin|
|00000d60| 6b 28 20 29 0d 7b 0d 09 | 69 66 28 20 66 50 72 65 |k( ).{..|if( fPre|
|00000d70| 76 20 29 0d 09 09 66 50 | 72 65 76 2d 3e 66 4e 65 |v )...fP|rev->fNe|
|00000d80| 78 74 20 3d 20 66 4e 65 | 78 74 3b 0d 09 69 66 28 |xt = fNe|xt;..if(|
|00000d90| 20 66 4e 65 78 74 20 29 | 0d 09 09 66 4e 65 78 74 | fNext )|...fNext|
|00000da0| 2d 3e 66 50 72 65 76 20 | 3d 20 66 50 72 65 76 3b |->fPrev |= fPrev;|
|00000db0| 0d 7d 0d 0d 0d 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.}...//=|========|
|00000dc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000dd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000de0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000df0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e00| 3d 3d 3d 3d 3d 0d 2f 2f | 20 46 61 63 65 74 4c 69 |=====.//| FacetLi|
|00000e10| 6e 6b 0d 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |nk.//===|========|
|00000e20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e60| 3d 3d 3d 0d 0d 0d 46 61 | 63 65 74 4c 69 73 74 3a |===...Fa|cetList:|
|00000e70| 3a 46 61 63 65 74 4c 69 | 73 74 28 20 29 0d 09 3a |:FacetLi|st( )..:|
|00000e80| 46 61 63 65 74 4c 69 6e | 6b 28 29 0d 7b 0d 7d 0d |FacetLin|k().{.}.|
|00000e90| 0d 0d 46 61 63 65 74 4c | 69 73 74 3a 3a 7e 46 61 |..FacetL|ist::~Fa|
|00000ea0| 63 65 74 4c 69 73 74 28 | 20 29 0d 7b 0d 09 2f 2f |cetList(| ).{..//|
|00000eb0| 20 44 65 6c 65 74 65 20 | 61 6c 6c 20 6c 69 6e 6b | Delete |all link|
|00000ec0| 73 3a 0d 09 77 68 69 6c | 65 28 20 66 4e 65 78 74 |s:..whil|e( fNext|
|00000ed0| 20 21 3d 20 74 68 69 73 | 20 29 0d 09 09 64 65 6c | != this| )...del|
|00000ee0| 65 74 65 20 66 4e 65 78 | 74 3b 0d 7d 0d 0d 0d 76 |ete fNex|t;.}...v|
|00000ef0| 6f 69 64 0d 46 61 63 65 | 74 4c 69 73 74 3a 3a 41 |oid.Face|tList::A|
|00000f00| 64 64 28 20 58 4d 50 46 | 61 63 65 74 20 2a 66 61 |dd( XMPF|acet *fa|
|00000f10| 63 65 74 20 29 0d 7b 0d | 09 6e 65 77 20 46 61 63 |cet ).{.|.new Fac|
|00000f20| 65 74 4c 69 6e 6b 28 66 | 61 63 65 74 2c 74 68 69 |etLink(f|acet,thi|
|00000f30| 73 29 3b 0d 09 2f 2f 20 | 54 68 65 20 6e 65 77 20 |s);..// |The new |
|00000f40| 6c 69 6e 6b 20 68 61 73 | 20 61 6c 72 65 61 64 79 |link has| already|
|00000f50| 20 68 6f 6f 6b 65 64 20 | 69 74 73 65 6c 66 20 69 | hooked |itself i|
|00000f60| 6e 74 6f 20 6d 79 20 63 | 68 61 69 6e 20 73 6f 20 |nto my c|hain so |
|00000f70| 49 20 64 6f 6e 27 74 20 | 6e 65 65 64 20 74 6f 0d |I don't |need to.|
|00000f80| 09 2f 2f 20 72 65 6d 65 | 6d 62 65 72 20 69 74 20 |.// reme|mber it |
|00000f90| 65 6c 73 65 77 68 65 72 | 65 2e 0d 7d 0d 0d 0d 76 |elsewher|e..}...v|
|00000fa0| 6f 69 64 0d 46 61 63 65 | 74 4c 69 73 74 3a 3a 52 |oid.Face|tList::R|
|00000fb0| 65 6d 6f 76 65 28 20 58 | 4d 50 46 61 63 65 74 20 |emove( X|MPFacet |
|00000fc0| 2a 66 61 63 65 74 20 29 | 0d 7b 0d 09 46 61 63 65 |*facet )|.{..Face|
|00000fd0| 74 4c 69 6e 6b 20 2a 6c | 69 6e 6b 3b 0d 09 66 6f |tLink *l|ink;..fo|
|00000fe0| 72 28 20 6c 69 6e 6b 3d | 74 68 69 73 2d 3e 46 69 |r( link=|this->Fi|
|00000ff0| 72 73 74 28 29 3b 20 6c | 69 6e 6b 2d 3e 46 61 63 |rst(); l|ink->Fac|
|00001000| 65 74 28 29 3b 20 6c 69 | 6e 6b 3d 6c 69 6e 6b 2d |et(); li|nk=link-|
|00001010| 3e 4e 65 78 74 28 29 20 | 29 0d 09 09 69 66 28 20 |>Next() |)...if( |
|00001020| 6c 69 6e 6b 2d 3e 46 61 | 63 65 74 28 29 3d 3d 66 |link->Fa|cet()==f|
|00001030| 61 63 65 74 20 29 20 7b | 0d 09 09 09 64 65 6c 65 |acet ) {|....dele|
|00001040| 74 65 20 6c 69 6e 6b 3b | 0d 09 09 09 72 65 74 75 |te link;|....retu|
|00001050| 72 6e 3b 0d 09 09 7d 0d | 09 57 41 52 4e 28 22 43 |rn;...}.|.WARN("C|
|00001060| 6f 75 6c 64 6e 27 74 20 | 66 69 6e 64 20 66 61 63 |ouldn't |find fac|
|00001070| 65 74 22 29 3b 0d 7d 0d | 0d 0d 00 16 00 01 00 00 |et");.}.|........|
|00001080| 00 00 00 0b 00 09 00 04 | 00 00 00 09 00 00 00 00 |........|........|
|00001090| 00 00 00 05 00 01 00 00 | 00 25 00 00 00 13 00 00 |........|.%......|
|000010a0| 00 25 31 30 30 31 00 00 | 13 89 00 00 20 00 00 00 |.%1001..|.... ...|
|000010b0| 00 00 00 00 00 00 00 00 | 00 00 0b 46 61 63 65 74 |........|...Facet|
|000010c0| 4c 69 73 74 2e 68 00 00 | 06 00 00 00 00 06 25 00 |List.h..|......%.|
|000010d0| 00 00 14 00 00 06 25 00 | 00 ff ff ff ff 01 a5 02 |......%.|........|
|000010e0| 6b 01 00 00 00 00 00 7f | ff 0f a0 00 00 00 00 03 |k.......|........|
|000010f0| e9 00 00 00 0c 00 00 00 | 04 00 04 ff fc 07 d0 00 |........|........|
|00001100| 04 00 04 ff fc ff fc 00 | 00 00 00 00 00 00 00 83 |........|........|
|00001110| 00 0b 6a 08 54 65 78 74 | 45 64 69 74 00 00 00 05 |..j.Text|Edit....|
|00001120| c3 2f 2a 0d 09 46 69 6c | 65 3a 09 09 46 61 63 65 |./*..Fil|e:..Face|
|00001130| 74 4c 69 73 74 2e 68 0d | 0d 09 43 6f 6e 74 61 69 |tList.h.|..Contai|
|00001140| 6e 73 3a 09 4c 69 6e 6b | 65 64 20 6c 69 73 74 20 |ns:.Link|ed list |
|00001150| 6f 66 20 66 61 63 65 74 | 73 2c 20 66 6f 72 20 75 |of facet|s, for u|
|00001160| 73 65 20 62 79 20 70 61 | 72 74 73 0d 0d 09 57 72 |se by pa|rts...Wr|
|00001170| 69 74 74 65 6e 20 62 79 | 3a 09 4a 65 6e 73 20 41 |itten by|:.Jens A|
|00001180| 6c 66 6b 65 0d 0d 09 54 | 68 65 6f 72 79 20 6f 66 |lfke...T|heory of|
|00001190| 20 4f 70 65 72 61 74 69 | 6f 6e 3a 0d 09 09 54 68 | Operati|on:...Th|
|000011a0| 69 73 20 69 73 20 61 20 | 71 75 69 63 6b 2d 6e 2d |is is a |quick-n-|
|000011b0| 64 69 72 74 79 20 6c 69 | 6e 6b 65 64 20 6c 69 73 |dirty li|nked lis|
|000011c0| 74 20 6f 66 20 58 4d 50 | 46 61 63 65 74 73 2e 20 |t of XMP|Facets. |
|000011d0| 54 6f 20 75 73 65 20 69 | 74 2c 20 63 72 65 61 74 |To use i|t, creat|
|000011e0| 65 20 61 0d 09 09 46 61 | 63 65 74 4c 69 73 74 20 |e a...Fa|cetList |
|000011f0| 61 6e 64 20 75 73 65 20 | 74 68 65 20 41 64 64 20 |and use |the Add |
|00001200| 61 6e 64 20 52 65 6d 6f | 76 65 20 6d 65 74 68 6f |and Remo|ve metho|
|00001210| 64 73 20 74 6f 20 61 64 | 64 2f 72 65 6d 6f 76 65 |ds to ad|d/remove|
|00001220| 20 66 61 63 65 74 73 2e | 0d 09 09 54 6f 20 69 74 | facets.|...To it|
|00001230| 65 72 61 74 65 20 6f 76 | 65 72 20 61 6c 6c 20 74 |erate ov|er all t|
|00001240| 68 65 20 66 61 63 65 74 | 73 2c 20 64 6f 20 73 6f |he facet|s, do so|
|00001250| 6d 65 74 68 69 6e 67 20 | 6c 69 6b 65 20 74 68 69 |mething |like thi|
|00001260| 73 3a 0d 09 09 0d 09 09 | 09 66 6f 72 28 20 46 61 |s:......|.for( Fa|
|00001270| 63 65 74 4c 69 6e 6b 20 | 2a 66 6c 3d 66 61 63 65 |cetLink |*fl=face|
|00001280| 74 4c 69 73 74 2e 46 69 | 72 73 74 28 29 3b 20 66 |tList.Fi|rst(); f|
|00001290| 6c 2d 3e 46 61 63 65 74 | 28 29 3b 20 66 6c 3d 66 |l->Facet|(); fl=f|
|000012a0| 6c 2d 3e 4e 65 78 74 28 | 29 20 29 0d 09 09 09 09 |l->Next(|) ).....|
|000012b0| 44 6f 53 6f 6d 65 74 68 | 69 6e 67 57 69 74 68 46 |DoSometh|ingWithF|
|000012c0| 61 63 65 74 28 20 66 6c | 2d 3e 46 61 63 65 74 28 |acet( fl|->Facet(|
|000012d0| 29 20 29 3b 0d 2a 2f 0d | 0d 23 69 66 6e 64 65 66 |) );.*/.|.#ifndef|
|000012e0| 20 5f 46 41 43 45 54 4c | 49 53 54 5f 0d 23 64 65 | _FACETL|IST_.#de|
|000012f0| 66 69 6e 65 20 5f 46 41 | 43 45 54 4c 49 53 54 5f |fine _FA|CETLIST_|
|00001300| 0d 0d 23 69 66 6e 64 65 | 66 20 5f 50 4c 46 4d 44 |..#ifnde|f _PLFMD|
|00001310| 45 46 5f 0d 23 69 6e 63 | 6c 75 64 65 20 22 50 6c |EF_.#inc|lude "Pl|
|00001320| 66 6d 44 65 66 2e 68 22 | 09 2f 2f 20 4e 65 65 64 |fmDef.h"|.// Need|
|00001330| 20 74 68 69 73 20 27 63 | 61 75 73 65 20 69 74 20 | this 'c|ause it |
|00001340| 6d 61 70 73 20 6e 61 6d | 65 20 58 4d 50 46 61 63 |maps nam|e XMPFac|
|00001350| 65 74 20 2d 3e 20 58 4d | 50 4d 61 63 46 61 63 65 |et -> XM|PMacFace|
|00001360| 74 0d 23 65 6e 64 69 66 | 0d 0d 0d 63 6c 61 73 73 |t.#endif|...class|
|00001370| 20 58 4d 50 46 61 63 65 | 74 3b 0d 0d 0d 2f 2f 3d | XMPFace|t;...//=|
|00001380| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//|
|000013d0| 20 46 61 63 65 74 4c 69 | 6e 6b 0d 2f 2f 3d 3d 3d | FacetLi|nk.//===|
|000013e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001400| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001420| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0d 63 6c 61 |========|===..cla|
|00001430| 73 73 20 46 61 63 65 74 | 4c 69 6e 6b 0d 7b 0d 70 |ss Facet|Link.{.p|
|00001440| 75 62 6c 69 63 3a 0d 09 | 0d 09 58 4d 50 46 61 63 |ublic:..|..XMPFac|
|00001450| 65 74 2a 09 46 61 63 65 | 74 28 20 29 09 09 09 09 |et*.Face|t( )....|
|00001460| 09 7b 72 65 74 75 72 6e | 20 66 46 61 63 65 74 3b |.{return| fFacet;|
|00001470| 7d 0d 09 46 61 63 65 74 | 4c 69 6e 6b 2a 09 4e 65 |}..Facet|Link*.Ne|
|00001480| 78 74 28 20 29 09 09 09 | 09 09 09 7b 72 65 74 75 |xt( )...|...{retu|
|00001490| 72 6e 20 66 4e 65 78 74 | 3b 7d 0d 09 0d 70 72 6f |rn fNext|;}...pro|
|000014a0| 74 65 63 74 65 64 3a 0d | 09 09 09 09 46 61 63 65 |tected:.|....Face|
|000014b0| 74 4c 69 6e 6b 28 20 58 | 4d 50 46 61 63 65 74 2a |tLink( X|MPFacet*|
|000014c0| 2c 20 46 61 63 65 74 4c | 69 6e 6b 20 2a 6c 69 73 |, FacetL|ink *lis|
|000014d0| 74 20 29 3b 0d 09 09 09 | 09 46 61 63 65 74 4c 69 |t );....|.FacetLi|
|000014e0| 6e 6b 28 20 29 3b 0d 09 | 09 09 09 7e 46 61 63 65 |nk( );..|...~Face|
|000014f0| 74 4c 69 6e 6b 28 20 29 | 3b 0d 09 09 09 09 0d 09 |tLink( )|;.......|
|00001500| 58 4d 50 46 61 63 65 74 | 09 2a 66 46 61 63 65 74 |XMPFacet|.*fFacet|
|00001510| 3b 0d 09 46 61 63 65 74 | 4c 69 6e 6b 09 2a 66 50 |;..Facet|Link.*fP|
|00001520| 72 65 76 2c 0d 09 09 09 | 09 2a 66 4e 65 78 74 3b |rev,....|.*fNext;|
|00001530| 0d 09 66 72 69 65 6e 64 | 20 63 6c 61 73 73 20 46 |..friend| class F|
|00001540| 61 63 65 74 4c 69 73 74 | 3b 0d 7d 3b 0d 0d 0d 2f |acetList|;.};.../|
|00001550| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00001560| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001570| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001580| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001590| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|000015a0| 2f 2f 20 46 61 63 65 74 | 4c 69 73 74 0d 2f 2f 3d |// Facet|List.//=|
|000015b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0d 63 |========|=====..c|
|00001600| 6c 61 73 73 20 46 61 63 | 65 74 4c 69 73 74 20 3a |lass Fac|etList :|
|00001610| 70 72 69 76 61 74 65 20 | 46 61 63 65 74 4c 69 6e |private |FacetLin|
|00001620| 6b 0d 7b 0d 70 75 62 6c | 69 63 3a 0d 09 09 09 09 |k.{.publ|ic:.....|
|00001630| 46 61 63 65 74 4c 69 73 | 74 28 20 29 3b 0d 09 09 |FacetLis|t( );...|
|00001640| 09 09 7e 46 61 63 65 74 | 4c 69 73 74 28 20 29 3b |..~Facet|List( );|
|00001650| 0d 09 76 6f 69 64 09 09 | 41 64 64 28 20 58 4d 50 |..void..|Add( XMP|
|00001660| 46 61 63 65 74 2a 20 29 | 3b 0d 09 76 6f 69 64 09 |Facet* )|;..void.|
|00001670| 09 52 65 6d 6f 76 65 28 | 20 58 4d 50 46 61 63 65 |.Remove(| XMPFace|
|00001680| 74 2a 20 29 3b 0d 09 76 | 6f 69 64 09 09 49 6e 76 |t* );..v|oid..Inv|
|00001690| 61 6c 41 6c 6c 46 61 63 | 65 74 73 28 20 29 3b 0d |alAllFac|ets( );.|
|000016a0| 09 46 61 63 65 74 4c 69 | 6e 6b 2a 09 46 69 72 73 |.FacetLi|nk*.Firs|
|000016b0| 74 28 20 29 09 09 09 09 | 09 7b 72 65 74 75 72 6e |t( )....|.{return|
|000016c0| 20 66 4e 65 78 74 3b 7d | 0d 7d 3b 0d 0d 23 65 6e | fNext;}|.};..#en|
|000016d0| 64 69 66 20 2f 2a 5f 46 | 41 43 45 54 4c 49 53 54 |dif /*_F|ACETLIST|
|000016e0| 5f 2a 2f 0d 00 16 00 01 | 00 00 00 00 00 0b 00 09 |_*/.....|........|
|000016f0| 00 04 00 00 00 09 00 00 | 00 00 00 00 00 05 00 02 |........|........|
|00001700| 00 00 00 27 00 00 00 15 | 00 00 00 27 31 30 30 32 |...'....|...'1002|
|00001710| 00 00 13 89 00 00 20 00 | 00 00 00 00 00 00 00 00 |...... .|........|
|00001720| 00 00 00 00 0d 48 65 6c | 6c 6f 50 61 72 74 2e 63 |.....Hel|loPart.c|
|00001730| 70 70 00 00 06 00 00 00 | 00 4e ca 00 00 00 16 00 |pp......|.N......|
|00001740| 00 4e ca 00 00 ff ff 01 | 3a 01 a5 02 66 01 00 00 |.N......|:...f...|
|00001750| 00 00 00 7f ff 0f a0 00 | 00 00 00 03 ea 00 00 00 |........|........|
|00001760| 0c 00 00 00 04 00 04 ff | fc 07 d0 00 04 00 04 ff |........|........|
|00001770| fc ff fc 00 00 00 00 00 | 00 00 00 83 00 0b 6a 08 |........|......j.|
|00001780| 54 65 78 74 45 64 69 74 | 00 00 00 4e 68 2f 2f 2d |TextEdit|...Nh//-|
|00001790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017d0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 55 49 20 45 |--------|.// UI E|
|000017e0| 76 65 6e 74 73 20 70 72 | 6f 74 6f 63 6f 6c 0d 2f |vents pr|otocol./|
|000017f0| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 58 4d 50 42 |--------|--..XMPB|
|00001840| 6f 6f 6c 65 61 6e 20 48 | 65 6c 6c 6f 50 61 72 74 |oolean H|elloPart|
|00001850| 3a 3a 48 61 6e 64 6c 65 | 45 76 65 6e 74 28 58 4d |::Handle|Event(XM|
|00001860| 50 45 76 65 6e 74 44 61 | 74 61 20 65 76 65 6e 74 |PEventDa|ta event|
|00001870| 2c 20 58 4d 50 46 72 61 | 6d 65 2a 20 66 72 61 6d |, XMPFra|me* fram|
|00001880| 65 2c 20 58 4d 50 46 61 | 63 65 74 2a 20 66 61 63 |e, XMPFa|cet* fac|
|00001890| 65 74 29 0d 7b 0d 09 57 | 65 42 65 48 65 72 65 28 |et).{..W|eBeHere(|
|000018a0| 22 48 65 6c 6c 6f 50 61 | 72 74 3a 3a 48 61 6e 64 |"HelloPa|rt::Hand|
|000018b0| 6c 65 45 76 65 6e 74 22 | 29 3b 0d 0d 09 58 4d 50 |leEvent"|);...XMP|
|000018c0| 42 6f 6f 6c 65 61 6e 09 | 74 57 61 73 48 61 6e 64 |Boolean.|tWasHand|
|000018d0| 6c 65 64 20 3d 20 6b 58 | 4d 50 46 61 6c 73 65 3b |led = kX|MPFalse;|
|000018e0| 0d 09 0d 09 73 77 69 74 | 63 68 20 28 20 65 76 65 |....swit|ch ( eve|
|000018f0| 6e 74 2d 3e 77 68 61 74 | 20 29 20 7b 0d 09 09 63 |nt->what| ) {...c|
|00001900| 61 73 65 20 6e 75 6c 6c | 45 76 65 6e 74 3a 0d 09 |ase null|Event:..|
|00001910| 09 09 69 66 20 28 49 73 | 44 69 61 6c 6f 67 45 76 |..if (Is|DialogEv|
|00001920| 65 6e 74 28 65 76 65 6e | 74 29 29 0d 09 09 09 7b |ent(even|t))....{|
|00001930| 0d 09 09 09 09 73 68 6f | 72 74 20 69 74 65 6d 48 |.....sho|rt itemH|
|00001940| 69 74 3b 0d 09 09 09 09 | 44 69 61 6c 6f 67 50 74 |it;.....|DialogPt|
|00001950| 72 20 64 69 61 6c 6f 67 | 3b 0d 09 09 09 09 74 57 |r dialog|;.....tW|
|00001960| 61 73 48 61 6e 64 6c 65 | 64 20 3d 20 44 69 61 6c |asHandle|d = Dial|
|00001970| 6f 67 53 65 6c 65 63 74 | 28 65 76 65 6e 74 2c 20 |ogSelect|(event, |
|00001980| 26 64 69 61 6c 6f 67 2c | 20 26 69 74 65 6d 48 69 |&dialog,| &itemHi|
|00001990| 74 29 3b 0d 09 09 09 09 | 72 65 74 75 72 6e 20 74 |t);.....|return t|
|000019a0| 57 61 73 48 61 6e 64 6c | 65 64 3b 0d 09 09 09 7d |WasHandl|ed;....}|
|000019b0| 0d 09 09 09 74 57 61 73 | 48 61 6e 64 6c 65 64 20 |....tWas|Handled |
|000019c0| 3d 20 6b 58 4d 50 54 72 | 75 65 3b 0d 09 09 09 62 |= kXMPTr|ue;....b|
|000019d0| 72 65 61 6b 3b 0d 09 09 | 09 0d 09 09 63 61 73 65 |reak;...|....case|
|000019e0| 20 6d 6f 75 73 65 44 6f | 77 6e 3a 0d 09 09 09 74 | mouseDo|wn:....t|
|000019f0| 57 61 73 48 61 6e 64 6c | 65 64 20 3d 20 74 68 69 |WasHandl|ed = thi|
|00001a00| 73 2d 3e 4d 79 48 61 6e | 64 6c 65 4d 6f 75 73 65 |s->MyHan|dleMouse|
|00001a10| 44 6f 77 6e 28 65 76 65 | 6e 74 2c 20 66 72 61 6d |Down(eve|nt, fram|
|00001a20| 65 2c 20 66 61 63 65 74 | 29 3b 0d 09 09 09 62 72 |e, facet|);....br|
|00001a30| 65 61 6b 3b 0d 09 09 09 | 0d 09 09 63 61 73 65 20 |eak;....|...case |
|00001a40| 6b 58 4d 50 45 76 74 4d | 6f 75 73 65 44 6f 77 6e |kXMPEvtM|ouseDown|
|00001a50| 45 6d 62 65 64 64 65 64 | 3a 0d 09 09 63 61 73 65 |Embedded|:...case|
|00001a60| 20 6d 6f 75 73 65 55 70 | 3a 0d 09 09 63 61 73 65 | mouseUp|:...case|
|00001a70| 20 6b 65 79 44 6f 77 6e | 3a 0d 09 09 63 61 73 65 | keyDown|:...case|
|00001a80| 20 61 75 74 6f 4b 65 79 | 3a 0d 09 09 63 61 73 65 | autoKey|:...case|
|00001a90| 20 61 63 74 69 76 61 74 | 65 45 76 74 3a 0d 09 09 | activat|eEvt:...|
|00001aa0| 09 74 57 61 73 48 61 6e | 64 6c 65 64 20 3d 20 6b |.tWasHan|dled = k|
|00001ab0| 58 4d 50 54 72 75 65 3b | 0d 09 09 09 62 72 65 61 |XMPTrue;|....brea|
|00001ac0| 6b 3b 0d 09 09 63 61 73 | 65 20 6b 58 4d 50 45 76 |k;...cas|e kXMPEv|
|00001ad0| 74 4d 65 6e 75 3a 0d 09 | 09 09 74 57 61 73 48 61 |tMenu:..|..tWasHa|
|00001ae0| 6e 64 6c 65 64 20 3d 20 | 74 68 69 73 2d 3e 4d 79 |ndled = |this->My|
|00001af0| 48 61 6e 64 6c 65 4d 65 | 6e 75 45 76 65 6e 74 28 |HandleMe|nuEvent(|
|00001b00| 20 66 72 61 6d 65 2c 20 | 65 76 65 6e 74 20 29 3b | frame, |event );|
|00001b10| 0d 09 09 09 62 72 65 61 | 6b 3b 0d 09 09 64 65 66 |....brea|k;...def|
|00001b20| 61 75 6c 74 3a 0d 09 09 | 09 62 72 65 61 6b 3b 0d |ault:...|.break;.|
|00001b30| 09 7d 0d 0d 09 72 65 74 | 75 72 6e 20 74 57 61 73 |.}...ret|urn tWas|
|00001b40| 48 61 6e 64 6c 65 64 3b | 0d 0d 2f 2f 20 42 65 6c |Handled;|..// Bel|
|00001b50| 6f 77 20 69 73 20 73 6f | 6d 65 20 64 6f 63 75 6d |ow is so|me docum|
|00001b60| 65 6e 74 61 74 69 6f 6e | 20 66 6f 72 20 74 68 69 |entation| for thi|
|00001b70| 73 20 6d 65 74 68 6f 64 | 2e 20 20 49 66 20 79 6f |s method|. If yo|
|00001b80| 75 20 64 6f 6e 27 74 20 | 63 61 72 65 20 66 6f 72 |u don't |care for|
|00001b90| 0d 2f 2f 20 62 65 69 6e | 67 20 68 65 72 65 2c 20 |.// bein|g here, |
|00001ba0| 74 68 65 6e 20 6a 75 73 | 74 20 64 65 6c 65 74 65 |then jus|t delete|
|00001bb0| 20 69 74 2e 0d 2f 2f 0d | 2f 2f 20 54 68 65 20 66 | it..//.|// The f|
|00001bc0| 72 61 6d 65 20 61 6e 64 | 20 66 61 63 65 74 20 70 |rame and| facet p|
|00001bd0| 61 72 61 6d 65 74 65 72 | 73 20 6f 66 20 48 61 6e |arameter|s of Han|
|00001be0| 64 6c 65 45 76 65 6e 74 | 28 29 20 6d 61 79 20 62 |dleEvent|() may b|
|00001bf0| 65 0d 2f 2f 20 6b 58 4d | 50 4e 55 4c 4c 2c 20 64 |e.// kXM|PNULL, d|
|00001c00| 65 70 65 6e 64 69 6e 67 | 20 6f 6e 20 74 68 65 20 |epending| on the |
|00001c10| 6b 69 6e 64 20 6f 66 20 | 65 76 65 6e 74 2e 0d 2f |kind of |event../|
|00001c20| 2f 0d 2f 2f 20 50 61 72 | 74 73 20 6d 75 73 74 20 |/.// Par|ts must |
|00001c30| 68 61 6e 64 6c 65 20 74 | 68 65 20 66 6f 6c 6c 6f |handle t|he follo|
|00001c40| 77 69 6e 67 20 65 76 65 | 6e 74 73 2c 20 77 68 69 |wing eve|nts, whi|
|00001c50| 63 68 20 63 6f 72 72 65 | 73 70 6f 6e 64 20 74 6f |ch corre|spond to|
|00001c60| 0d 2f 2f 20 73 74 61 6e | 64 61 72 64 20 4d 61 63 |.// stan|dard Mac|
|00001c70| 69 6e 74 6f 73 68 20 65 | 76 65 6e 74 73 3a 0d 2f |intosh e|vents:./|
|00001c80| 2f 0d 2f 2f 09 6b 58 4d | 50 45 76 74 4e 75 6c 6c |/.//.kXM|PEvtNull|
|00001c90| 0d 2f 2f 20 09 6b 58 4d | 50 45 76 74 4d 6f 75 73 |.// .kXM|PEvtMous|
|00001ca0| 65 44 6f 77 6e 0d 2f 2f | 20 09 6b 58 4d 50 45 76 |eDown.//| .kXMPEv|
|00001cb0| 74 4d 6f 75 73 65 55 70 | 0d 2f 2f 20 09 6b 58 4d |tMouseUp|.// .kXM|
|00001cc0| 50 45 76 74 4b 65 79 44 | 6f 77 6e 0d 2f 2f 20 09 |PEvtKeyD|own.// .|
|00001cd0| 6b 58 4d 50 45 76 74 4b | 65 79 55 70 0d 2f 2f 20 |kXMPEvtK|eyUp.// |
|00001ce0| 09 6b 58 4d 50 45 76 74 | 41 75 74 6f 4b 65 79 0d |.kXMPEvt|AutoKey.|
|00001cf0| 2f 2f 20 09 6b 58 4d 50 | 45 76 74 55 70 64 61 74 |// .kXMP|EvtUpdat|
|00001d00| 65 0d 2f 2f 20 09 6b 58 | 4d 50 45 76 74 41 63 74 |e.// .kX|MPEvtAct|
|00001d10| 69 76 61 74 65 0d 2f 2f | 20 09 6b 58 4d 50 45 76 |ivate.//| .kXMPEv|
|00001d20| 74 4f 53 0d 2f 2f 0d 2f | 2f 20 4e 75 6c 6c 20 45 |tOS.//./|/ Null E|
|00001d30| 76 65 6e 74 73 20 2d 2d | 0d 2f 2f 20 49 6e 20 6f |vents --|.// In o|
|00001d40| 72 64 65 72 20 74 6f 20 | 72 65 63 65 69 76 65 20 |rder to |receive |
|00001d50| 6e 75 6c 6c 20 65 76 65 | 6e 74 73 20 28 69 2e 65 |null eve|nts (i.e|
|00001d60| 2e 20 69 64 6c 65 20 74 | 69 6d 65 29 2c 20 70 61 |. idle t|ime), pa|
|00001d70| 72 74 73 20 6d 75 73 74 | 20 63 61 6c 6c 0d 2f 2f |rts must| call.//|
|00001d80| 20 58 4d 50 44 69 73 70 | 61 74 63 68 65 72 3a 3a | XMPDisp|atcher::|
|00001d90| 52 65 67 69 73 74 65 72 | 49 64 6c 65 28 29 2c 20 |Register|Idle(), |
|00001da0| 73 70 65 63 69 66 79 69 | 6e 67 20 74 68 65 20 70 |specifyi|ng the p|
|00001db0| 61 72 74 2c 20 61 20 66 | 72 61 6d 65 0d 2f 2f 20 |art, a f|rame.// |
|00001dc0| 28 6f 70 74 69 6f 6e 61 | 6c 29 20 61 6e 64 20 69 |(optiona|l) and i|
|00001dd0| 64 6c 65 20 66 72 65 71 | 75 65 6e 63 79 2e 20 54 |dle freq|uency. T|
|00001de0| 68 65 20 70 61 72 74 20 | 77 69 6c 6c 20 72 65 63 |he part |will rec|
|00001df0| 65 69 76 65 20 61 20 6e | 75 6c 6c 20 65 76 65 6e |eive a n|ull even|
|00001e00| 74 0d 2f 2f 20 66 6f 72 | 20 65 61 63 68 20 66 72 |t.// for| each fr|
|00001e10| 61 6d 65 20 72 65 67 69 | 73 74 65 72 65 64 2e 20 |ame regi|stered. |
|00001e20| 58 4d 50 44 69 73 70 61 | 74 63 68 65 72 3a 3a 47 |XMPDispa|tcher::G|
|00001e30| 65 74 53 6c 65 65 70 54 | 69 6d 65 28 29 20 69 73 |etSleepT|ime() is|
|00001e40| 20 63 61 6c 6c 65 64 0d | 2f 2f 20 62 79 20 74 68 | called.|// by th|
|00001e50| 65 20 73 68 65 6c 6c 2c | 20 61 6e 64 20 74 68 65 |e shell,| and the|
|00001e60| 20 76 61 6c 75 65 20 70 | 61 73 73 65 64 20 74 6f | value p|assed to|
|00001e70| 20 57 61 69 74 4e 65 78 | 74 45 76 65 6e 74 2e 20 | WaitNex|tEvent. |
|00001e80| 41 6e 20 61 70 70 72 6f | 70 72 69 61 74 65 0d 2f |An appro|priate./|
|00001e90| 2f 20 73 6c 65 65 70 20 | 74 69 6d 65 20 69 73 20 |/ sleep |time is |
|00001ea0| 63 6f 6d 70 75 74 65 64 | 20 62 61 73 65 64 20 6f |computed| based o|
|00001eb0| 6e 20 74 68 65 20 69 64 | 6c 65 20 66 72 65 71 75 |n the id|le frequ|
|00001ec0| 65 6e 63 69 65 73 20 6f | 66 20 72 65 67 69 73 74 |encies o|f regist|
|00001ed0| 65 72 65 64 0d 2f 2f 20 | 69 64 6c 65 20 66 72 61 |ered.// |idle fra|
|00001ee0| 6d 65 73 2e 0d 2f 2f 0d | 2f 2f 20 4d 6f 75 73 65 |mes..//.|// Mouse|
|00001ef0| 20 45 76 65 6e 74 73 20 | 2d 2d 0d 2f 2f 20 55 6e | Events |--.// Un|
|00001f00| 6d 6f 64 69 66 69 65 64 | 20 6d 6f 75 73 65 20 65 |modified| mouse e|
|00001f10| 76 65 6e 74 73 20 61 72 | 65 20 64 65 6c 69 76 65 |vents ar|e delive|
|00001f20| 72 65 64 20 74 6f 20 74 | 68 65 20 66 61 63 65 74 |red to t|he facet|
|00001f30| 20 75 6e 64 65 72 20 74 | 68 65 20 6d 6f 75 73 65 | under t|he mouse|
|00001f40| 0d 2f 2f 20 6c 6f 63 61 | 74 69 6f 6e 20 75 73 69 |.// loca|tion usi|
|00001f50| 6e 67 20 50 61 72 74 3a | 3a 48 61 6e 64 6c 65 45 |ng Part:|:HandleE|
|00001f60| 76 65 6e 74 28 29 2e 0d | 2f 2f 0d 2f 2f 20 53 68 |vent()..|//.// Sh|
|00001f70| 69 66 74 2d 43 6c 69 63 | 6b 20 61 6e 64 20 43 6f |ift-Clic|k and Co|
|00001f80| 6d 6d 61 6e 64 2d 43 6c | 69 63 6b 20 67 6f 20 74 |mmand-Cl|ick go t|
|00001f90| 6f 20 74 68 65 20 66 72 | 61 6d 65 20 77 69 74 68 |o the fr|ame with|
|00001fa0| 20 74 68 65 20 73 65 6c | 65 63 74 69 6f 6e 0d 2f | the sel|ection./|
|00001fb0| 2f 20 66 6f 63 75 73 2e | 20 20 4d 6f 75 73 65 20 |/ focus.| Mouse |
|00001fc0| 65 76 65 6e 74 73 20 69 | 6e 20 77 69 6e 64 6f 77 |events i|n window|
|00001fd0| 20 74 69 74 6c 65 20 62 | 61 72 73 20 61 72 65 20 | title b|ars are |
|00001fe0| 63 6f 6e 76 65 72 74 65 | 64 20 74 6f 20 77 69 6e |converte|d to win|
|00001ff0| 64 6f 77 0d 2f 2f 20 65 | 76 65 6e 74 73 2e 20 28 |dow.// e|vents. (|
|00002000| 53 65 65 20 62 65 6c 6f | 77 29 20 20 4d 6f 75 73 |See belo|w) Mous|
|00002010| 65 20 64 6f 77 6e 20 65 | 76 65 6e 74 73 20 69 6e |e down e|vents in|
|00002020| 20 74 68 65 20 6d 65 6e | 75 20 62 61 72 20 61 72 | the men|u bar ar|
|00002030| 65 20 63 6f 6e 76 65 72 | 74 65 64 0d 2f 2f 20 74 |e conver|ted.// t|
|00002040| 6f 20 6d 65 6e 75 20 65 | 76 65 6e 74 73 2e 20 28 |o menu e|vents. (|
|00002050| 53 65 65 20 62 65 6c 6f | 77 29 0d 2f 2f 0d 2f 2f |See belo|w).//.//|
|00002060| 20 4b 65 79 62 6f 61 72 | 64 20 45 76 65 6e 74 73 | Keyboar|d Events|
|00002070| 20 2d 2d 0d 2f 2f 20 4b | 65 79 62 6f 61 72 64 20 | --.// K|eyboard |
|00002080| 65 76 65 6e 74 73 20 67 | 6f 20 74 6f 20 74 68 65 |events g|o to the|
|00002090| 20 66 72 61 6d 65 20 77 | 69 74 68 20 74 68 65 20 | frame w|ith the |
|000020a0| 6b 65 79 62 6f 61 72 64 | 20 66 6f 63 75 73 2c 20 |keyboard| focus, |
|000020b0| 77 69 74 68 20 74 68 65 | 0d 2f 2f 20 65 78 63 65 |with the|.// exce|
|000020c0| 70 74 69 6f 6e 20 6f 66 | 20 74 68 65 20 50 61 67 |ption of| the Pag|
|000020d0| 65 20 55 70 2c 20 50 61 | 67 65 20 44 6f 77 6e 2c |e Up, Pa|ge Down,|
|000020e0| 20 48 6f 6d 65 20 61 6e | 64 20 45 6e 64 20 6b 65 | Home an|d End ke|
|000020f0| 79 73 2c 20 77 68 69 63 | 68 20 77 69 6c 6c 0d 2f |ys, whic|h will./|
|00002100| 2f 20 67 6f 20 74 6f 20 | 74 68 65 20 66 72 61 6d |/ go to |the fram|
|00002110| 65 20 77 69 74 68 20 74 | 68 65 20 73 63 72 6f 6c |e with t|he scrol|
|00002120| 6c 69 6e 67 20 66 6f 63 | 75 73 2c 20 69 66 20 74 |ling foc|us, if t|
|00002130| 68 65 72 65 20 69 73 20 | 6f 6e 65 2e 0d 2f 2f 0d |here is |one..//.|
|00002140| 2f 2f 20 55 70 64 61 74 | 65 20 45 76 65 6e 74 73 |// Updat|e Events|
|00002150| 20 2d 2d 0d 2f 2f 20 55 | 70 64 61 74 65 20 65 76 | --.// U|pdate ev|
|00002160| 65 6e 74 73 20 61 72 65 | 20 6e 6f 74 20 70 61 73 |ents are| not pas|
|00002170| 73 65 64 20 74 6f 20 50 | 61 72 74 3a 3a 48 61 6e |sed to P|art::Han|
|00002180| 64 6c 65 45 76 65 6e 74 | 28 29 2e 20 52 61 74 68 |dleEvent|(). Rath|
|00002190| 65 72 0d 2f 2f 20 50 61 | 72 74 3a 3a 44 72 61 77 |er.// Pa|rt::Draw|
|000021a0| 28 29 20 77 69 6c 6c 20 | 62 65 20 63 61 6c 6c 65 |() will |be calle|
|000021b0| 64 20 66 6f 72 20 65 61 | 63 68 20 66 61 63 65 74 |d for ea|ch facet|
|000021c0| 20 69 6e 20 74 68 65 20 | 77 69 6e 64 6f 77 2e 0d | in the |window..|
|000021d0| 2f 2f 0d 2f 2f 20 41 63 | 74 69 76 61 74 65 20 45 |//.// Ac|tivate E|
|000021e0| 76 65 6e 74 73 20 2d 2d | 0d 2f 2f 20 41 63 74 69 |vents --|.// Acti|
|000021f0| 76 61 74 65 20 65 76 65 | 6e 74 73 20 61 72 65 20 |vate eve|nts are |
|00002200| 61 6c 73 6f 20 64 65 6c | 69 76 65 72 65 64 20 74 |also del|ivered t|
|00002210| 6f 20 65 61 63 68 20 66 | 61 63 65 74 2c 20 75 73 |o each f|acet, us|
|00002220| 69 6e 67 0d 2f 2f 20 50 | 61 72 74 3a 3a 48 61 6e |ing.// P|art::Han|
|00002230| 64 6c 65 45 76 65 6e 74 | 28 29 2e 0d 2f 2f 0d 2f |dleEvent|()..//./|
|00002240| 2f 20 44 69 73 6b 20 45 | 76 65 6e 74 73 20 2d 2d |/ Disk E|vents --|
|00002250| 0d 2f 2f 20 43 75 72 72 | 65 6e 74 6c 79 2c 20 64 |.// Curr|ently, d|
|00002260| 69 73 6b 20 65 76 65 6e | 74 73 20 61 72 65 20 6e |isk even|ts are n|
|00002270| 6f 74 20 64 69 73 74 72 | 69 62 75 74 65 64 20 74 |ot distr|ibuted t|
|00002280| 6f 20 70 61 72 74 73 2e | 0d 2f 2f 20 42 75 74 20 |o parts.|.// But |
|00002290| 77 68 65 72 65 20 64 6f | 20 74 68 65 79 20 67 6f |where do| they go|
|000022a0| 3f 3f 3f 0d 2f 2f 0d 2f | 2f 20 4f 53 20 45 76 65 |???.//./|/ OS Eve|
|000022b0| 6e 74 73 20 2d 2d 0d 2f | 2f 20 53 75 73 70 65 6e |nts --./|/ Suspen|
|000022c0| 64 2f 52 65 73 75 6d 65 | 20 65 76 65 6e 74 73 20 |d/Resume| events |
|000022d0| 61 72 65 20 64 65 6c 69 | 76 65 72 65 64 20 74 6f |are deli|vered to|
|000022e0| 20 65 61 63 68 20 66 61 | 63 65 74 20 69 6e 20 65 | each fa|cet in e|
|000022f0| 61 63 68 0d 2f 2f 20 77 | 69 6e 64 6f 77 20 75 73 |ach.// w|indow us|
|00002300| 69 6e 67 20 50 61 72 74 | 3a 3a 48 61 6e 64 6c 65 |ing Part|::Handle|
|00002310| 45 76 65 6e 74 28 29 2e | 20 0d 2f 2f 0d 2f 2f 20 |Event().| .//.// |
|00002320| 4d 6f 75 73 65 20 4d 6f | 76 65 64 20 65 76 65 6e |Mouse Mo|ved even|
|00002330| 74 73 20 61 72 65 20 6e | 6f 74 20 70 61 73 73 65 |ts are n|ot passe|
|00002340| 64 20 74 6f 20 50 61 72 | 74 3a 3a 48 61 6e 64 6c |d to Par|t::Handl|
|00002350| 65 45 76 65 6e 74 28 29 | 2e 0d 2f 2f 20 54 68 65 |eEvent()|..// The|
|00002360| 79 20 61 72 65 20 68 61 | 6e 64 6c 65 64 20 62 79 |y are ha|ndled by|
|00002370| 20 74 68 65 20 64 69 73 | 70 61 74 63 68 65 72 2c | the dis|patcher,|
|00002380| 20 61 6e 64 20 74 72 61 | 6e 73 6c 61 74 65 64 20 | and tra|nslated |
|00002390| 69 6e 74 6f 20 63 61 6c | 6c 73 0d 2f 2f 20 74 6f |into cal|ls.// to|
|000023a0| 20 50 61 72 74 3a 3a 4d | 6f 75 73 65 45 6e 74 65 | Part::M|ouseEnte|
|000023b0| 72 28 29 2c 20 4d 6f 75 | 73 65 57 69 74 68 69 6e |r(), Mou|seWithin|
|000023c0| 28 29 20 61 6e 64 20 4d | 6f 75 73 65 4c 65 61 76 |() and M|ouseLeav|
|000023d0| 65 28 29 2e 0d 2f 2f 20 | 53 65 65 20 43 75 72 73 |e()..// |See Curs|
|000023e0| 6f 72 20 54 72 61 63 6b | 69 6e 67 20 62 65 6c 6f |or Track|ing belo|
|000023f0| 77 2e 0d 2f 2f 0d 2f 2f | 20 4d 65 6e 75 20 45 76 |w..//.//| Menu Ev|
|00002400| 65 6e 74 73 20 2d 2d 0d | 2f 2f 20 4f 70 65 6e 44 |ents --.|// OpenD|
|00002410| 6f 63 20 63 6f 6e 76 65 | 72 74 73 20 61 20 6d 6f |oc conve|rts a mo|
|00002420| 75 73 65 20 64 6f 77 6e | 20 69 6e 20 74 68 65 20 |use down| in the |
|00002430| 6d 65 6e 75 20 62 61 72 | 2c 20 6f 72 20 69 74 73 |menu bar|, or its|
|00002440| 0d 2f 2f 20 63 6f 6d 6d | 61 6e 64 2d 6b 65 79 20 |.// comm|and-key |
|00002450| 65 71 75 69 76 61 6c 65 | 6e 74 2c 20 69 6e 74 6f |equivale|nt, into|
|00002460| 20 61 20 6d 65 6e 75 20 | 65 76 65 6e 74 20 6f 66 | a menu |event of|
|00002470| 20 74 79 70 65 20 6b 58 | 4d 50 45 76 74 4d 65 6e | type kX|MPEvtMen|
|00002480| 75 2e 0d 2f 2f 0d 2f 2f | 20 54 68 65 20 6d 65 73 |u..//.//| The mes|
|00002490| 73 61 67 65 20 66 69 65 | 6c 64 20 6f 66 20 74 68 |sage fie|ld of th|
|000024a0| 65 20 65 76 65 6e 74 20 | 72 65 63 6f 72 64 20 63 |e event |record c|
|000024b0| 6f 6e 74 61 69 6e 73 20 | 74 68 65 20 72 65 73 75 |ontains |the resu|
|000024c0| 6c 74 20 0d 2f 2f 20 72 | 65 74 75 72 6e 65 64 20 |lt .// r|eturned |
|000024d0| 62 79 20 4d 65 6e 75 53 | 65 6c 65 63 74 28 29 20 |by MenuS|elect() |
|000024e0| 6f 72 20 4d 65 6e 75 4b | 65 79 28 29 2e 20 69 2e |or MenuK|ey(). i.|
|000024f0| 65 2e 20 74 68 65 20 6d | 65 6e 75 20 69 73 20 69 |e. the m|enu is i|
|00002500| 6e 20 0d 2f 2f 20 74 68 | 65 20 68 69 67 68 20 77 |n .// th|e high w|
|00002510| 6f 72 64 2c 20 61 6e 64 | 20 74 68 65 20 69 74 65 |ord, and| the ite|
|00002520| 6d 20 69 6e 20 74 68 65 | 20 6c 6f 77 20 77 6f 72 |m in the| low wor|
|00002530| 64 2e 20 54 68 65 20 70 | 61 72 74 20 63 61 6e 20 |d. The p|art can |
|00002540| 0d 2f 2f 20 6f 62 74 61 | 69 6e 20 61 20 63 6f 6d |.// obta|in a com|
|00002550| 6d 61 6e 64 20 6e 75 6d | 62 65 72 20 75 73 69 6e |mand num|ber usin|
|00002560| 67 20 58 4d 50 4d 65 6e | 75 42 61 72 3a 3a 47 65 |g XMPMen|uBar::Ge|
|00002570| 74 43 6f 6d 6d 61 6e 64 | 28 29 2e 0d 2f 2f 0d 2f |tCommand|()..//./|
|00002580| 2f 20 57 69 6e 64 6f 77 | 20 45 76 65 6e 74 73 20 |/ Window| Events |
|00002590| 2d 2d 0d 2f 2f 20 45 76 | 65 6e 74 73 20 69 6e 20 |--.// Ev|ents in |
|000025a0| 74 68 65 20 74 69 74 6c | 65 20 62 61 72 20 6f 66 |the titl|e bar of|
|000025b0| 20 61 20 77 69 6e 64 6f | 77 20 28 65 67 2e 20 63 | a windo|w (eg. c|
|000025c0| 6c 69 63 6b 69 6e 67 20 | 69 6e 20 74 68 65 0d 2f |licking |in the./|
|000025d0| 2f 20 63 6c 6f 73 65 20 | 62 6f 78 29 20 61 72 65 |/ close |box) are|
|000025e0| 20 75 73 75 61 6c 6c 79 | 20 68 61 6e 64 6c 65 64 | usually| handled|
|000025f0| 20 62 79 20 74 68 65 20 | 73 68 65 6c 6c 2c 20 62 | by the |shell, b|
|00002600| 75 74 20 61 72 65 20 66 | 69 72 73 74 0d 2f 2f 20 |ut are f|irst.// |
|00002610| 6f 66 66 65 72 65 64 20 | 74 6f 20 74 68 65 20 72 |offered |to the r|
|00002620| 6f 6f 74 20 70 61 72 74 | 20 6f 66 20 74 68 65 20 |oot part| of the |
|00002630| 77 69 6e 64 6f 77 2e 20 | 50 61 72 74 73 20 77 68 |window. |Parts wh|
|00002640| 69 63 68 20 77 69 73 68 | 20 74 6f 0d 2f 2f 20 69 |ich wish| to.// i|
|00002650| 6e 74 65 72 63 65 70 74 | 20 74 68 65 73 65 20 65 |ntercept| these e|
|00002660| 76 65 6e 74 73 20 28 70 | 65 72 68 61 70 73 20 74 |vents (p|erhaps t|
|00002670| 6f 20 68 69 64 65 20 72 | 61 74 68 65 72 20 74 68 |o hide r|ather th|
|00002680| 61 6e 20 63 6c 6f 73 65 | 20 61 0d 2f 2f 20 77 69 |an close| a.// wi|
|00002690| 6e 64 6f 77 29 20 6d 75 | 73 74 20 68 61 6e 64 6c |ndow) mu|st handl|
|000026a0| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|000026b0| 65 76 65 6e 74 3a 20 6b | 58 4d 50 45 76 74 57 69 |event: k|XMPEvtWi|
|000026c0| 6e 64 6f 77 20 0d 2f 2f | 20 54 68 65 20 6d 65 73 |ndow .//| The mes|
|000026d0| 73 61 67 65 20 66 69 65 | 6c 64 20 6f 66 20 74 68 |sage fie|ld of th|
|000026e0| 65 20 65 76 65 6e 74 20 | 63 6f 6e 74 61 69 6e 73 |e event |contains|
|000026f0| 20 74 68 65 20 70 61 72 | 74 20 63 6f 64 65 2c 20 | the par|t code, |
|00002700| 61 73 0d 2f 2f 20 72 65 | 74 75 72 6e 65 64 20 62 |as.// re|turned b|
|00002710| 79 20 46 69 6e 64 57 69 | 6e 64 6f 77 28 29 2e 0d |y FindWi|ndow()..|
|00002720| 2f 2f 0d 2f 2f 20 45 76 | 65 6e 74 73 20 69 6e 20 |//.// Ev|ents in |
|00002730| 45 6d 62 65 64 64 65 64 | 20 46 72 61 6d 65 73 20 |Embedded| Frames |
|00002740| 2d 2d 0d 2f 2f 20 50 61 | 72 74 73 20 77 68 69 63 |--.// Pa|rts whic|
|00002750| 68 20 73 75 70 70 6f 72 | 74 20 65 6d 62 65 64 64 |h suppor|t embedd|
|00002760| 69 6e 67 20 6d 61 79 20 | 61 6c 73 6f 20 72 65 63 |ing may |also rec|
|00002770| 65 69 76 65 20 74 68 65 | 20 66 6f 6c 6c 6f 77 69 |eive the| followi|
|00002780| 6e 67 20 65 76 65 6e 74 | 73 3a 0d 2f 2f 09 0d 2f |ng event|s:.//../|
|00002790| 2f 09 6b 58 4d 50 45 76 | 74 4d 6f 75 73 65 44 6f |/.kXMPEv|tMouseDo|
|000027a0| 77 6e 45 6d 62 65 64 64 | 65 64 20 0d 2f 2f 09 6b |wnEmbedd|ed .//.k|
|000027b0| 58 4d 50 45 76 74 4d 6f | 75 73 65 55 70 45 6d 62 |XMPEvtMo|useUpEmb|
|000027c0| 65 64 64 65 64 0d 2f 2f | 09 6b 58 4d 50 45 76 74 |edded.//|.kXMPEvt|
|000027d0| 4d 6f 75 73 65 44 6f 77 | 6e 42 6f 72 64 65 72 0d |MouseDow|nBorder.|
|000027e0| 2f 2f 09 6b 58 4d 50 45 | 76 74 4d 6f 75 73 65 55 |//.kXMPE|vtMouseU|
|000027f0| 70 42 6f 72 64 65 72 0d | 2f 2f 0d 2f 2f 20 49 66 |pBorder.|//.// If|
|00002800| 20 74 68 65 20 75 73 65 | 72 20 63 6c 69 63 6b 73 | the use|r clicks|
|00002810| 20 69 6e 20 74 68 65 20 | 61 63 74 69 76 65 20 62 | in the |active b|
|00002820| 6f 72 64 65 72 2c 20 74 | 68 65 20 63 6f 6e 74 61 |order, t|he conta|
|00002830| 69 6e 69 6e 67 0d 2f 2f | 20 66 61 63 65 74 2f 66 |ining.//| facet/f|
|00002840| 72 61 6d 65 2f 70 61 72 | 74 20 77 69 6c 6c 20 72 |rame/par|t will r|
|00002850| 65 63 65 69 76 65 20 61 | 20 6b 58 4d 50 45 76 74 |eceive a| kXMPEvt|
|00002860| 4d 6f 75 73 65 44 6f 77 | 6e 42 6f 72 64 65 72 20 |MouseDow|nBorder |
|00002870| 65 76 65 6e 74 2e 0d 2f | 2f 20 54 68 65 20 6d 65 |event../|/ The me|
|00002880| 73 73 61 67 65 20 66 69 | 65 6c 64 20 6f 66 20 74 |ssage fi|eld of t|
|00002890| 68 65 20 65 76 65 6e 74 | 20 72 65 63 6f 72 64 20 |he event| record |
|000028a0| 63 6f 6e 74 61 69 6e 73 | 20 74 68 65 20 65 6d 62 |contains| the emb|
|000028b0| 65 64 64 65 64 20 66 61 | 63 65 74 2e 0d 2f 2f 0d |edded fa|cet..//.|
|000028c0| 2f 2f 20 53 69 6d 69 6c | 61 72 6c 79 2c 20 69 66 |// Simil|arly, if|
|000028d0| 20 74 68 65 20 75 73 65 | 72 20 63 6c 69 63 6b 73 | the use|r clicks|
|000028e0| 20 69 6e 20 61 6e 20 65 | 6d 62 65 64 64 65 64 20 | in an e|mbedded |
|000028f0| 66 72 61 6d 65 20 77 69 | 74 68 20 74 68 65 0d 2f |frame wi|th the./|
|00002900| 2f 20 d2 66 72 6f 7a 65 | 6e d3 20 6f 72 20 d2 73 |/ .froze|n. or .s|
|00002910| 65 6c 65 63 74 65 64 d3 | 20 70 72 6f 70 65 72 74 |elected.| propert|
|00002920| 79 20 73 65 74 2c 20 61 | 20 6b 58 4d 50 45 76 74 |y set, a| kXMPEvt|
|00002930| 4d 6f 75 73 65 44 6f 77 | 6e 45 6d 62 65 64 64 65 |MouseDow|nEmbedde|
|00002940| 64 0d 2f 2f 20 65 76 65 | 6e 74 20 69 73 20 64 69 |d.// eve|nt is di|
|00002950| 72 65 63 74 65 64 20 74 | 6f 20 74 68 65 20 63 6f |rected t|o the co|
|00002960| 6e 74 61 69 6e 69 6e 67 | 20 66 72 61 6d 65 2e 0d |ntaining| frame..|
|00002970| 2f 2f 0d 2f 2f 20 49 66 | 20 74 68 65 20 75 73 65 |//.// If| the use|
|00002980| 72 20 73 68 69 66 74 2d | 63 6c 69 63 6b 73 20 6f |r shift-|clicks o|
|00002990| 72 20 63 6f 6d 6d 61 6e | 64 2d 63 6c 69 63 6b 73 |r comman|d-clicks|
|000029a0| 20 69 6e 20 61 20 66 72 | 61 6d 65 20 77 68 69 63 | in a fr|ame whic|
|000029b0| 68 20 69 73 0d 2f 2f 20 | 65 6d 62 65 64 64 65 64 |h is.// |embedded|
|000029c0| 20 69 6e 20 74 68 65 20 | 66 72 61 6d 65 20 77 69 | in the |frame wi|
|000029d0| 74 68 20 74 68 65 20 73 | 65 6c 65 63 74 69 6f 6e |th the s|election|
|000029e0| 20 66 6f 63 75 73 2c 20 | 74 68 65 6e 20 74 68 65 | focus, |then the|
|000029f0| 20 6c 61 74 74 65 72 0d | 2f 2f 20 66 72 61 6d 65 | latter.|// frame|
|00002a00| 20 67 65 74 73 20 61 20 | 6b 58 4d 50 45 76 74 4d | gets a |kXMPEvtM|
|00002a10| 6f 75 73 65 44 6f 77 6e | 45 6d 62 65 64 64 65 64 |ouseDown|Embedded|
|00002a20| 20 65 76 65 6e 74 2e 20 | 20 0d 2f 2f 0d 2f 2f 20 | event. | .//.// |
|00002a30| 43 75 72 73 6f 72 20 54 | 72 61 63 6b 69 6e 67 20 |Cursor T|racking |
|00002a40| 2d 2d 0d 2f 2f 20 4f 70 | 65 6e 44 6f 63 20 74 72 |--.// Op|enDoc tr|
|00002a50| 61 63 6b 73 20 63 75 72 | 73 6f 72 20 6d 6f 76 65 |acks cur|sor move|
|00002a60| 6d 65 6e 74 20 28 77 69 | 74 68 20 74 68 65 20 6d |ment (wi|th the m|
|00002a70| 6f 75 73 65 20 62 75 74 | 74 6f 6e 20 75 70 29 2c |ouse but|ton up),|
|00002a80| 20 61 6e 64 0d 2f 2f 20 | 63 61 6c 6c 73 20 4d 6f | and.// |calls Mo|
|00002a90| 75 73 65 45 6e 74 65 72 | 28 29 20 77 68 65 6e 20 |useEnter|() when |
|00002aa0| 74 68 65 20 63 75 72 73 | 6f 72 20 66 69 72 73 74 |the curs|or first|
|00002ab0| 20 6d 6f 76 65 73 20 69 | 6e 74 6f 20 61 20 66 61 | moves i|nto a fa|
|00002ac0| 63 65 74 2c 20 61 6e 64 | 0d 2f 2f 20 4d 6f 75 73 |cet, and|.// Mous|
|00002ad0| 65 4c 65 61 76 65 28 29 | 20 77 68 65 6e 20 74 68 |eLeave()| when th|
|00002ae0| 65 20 63 75 72 73 6f 72 | 20 6c 65 61 76 65 73 20 |e cursor| leaves |
|00002af0| 74 68 65 20 66 61 63 65 | 74 2e 20 41 20 70 61 72 |the face|t. A par|
|00002b00| 74 20 63 61 6e 20 63 68 | 61 6e 67 65 0d 2f 2f 20 |t can ch|ange.// |
|00002b10| 74 68 65 20 63 75 72 73 | 6f 72 20 6f 6e 20 4d 6f |the curs|or on Mo|
|00002b20| 75 73 65 45 6e 74 65 72 | 2c 20 61 6e 64 20 73 65 |useEnter|, and se|
|00002b30| 74 20 69 74 20 74 6f 20 | 74 68 65 20 61 72 72 6f |t it to |the arro|
|00002b40| 77 20 6f 6e 20 4d 6f 75 | 73 65 4c 65 61 76 65 2e |w on Mou|seLeave.|
|00002b50| 0d 2f 2f 0d 2f 2f 20 54 | 68 69 73 20 70 72 6f 63 |.//.// T|his proc|
|00002b60| 65 73 73 20 69 73 20 74 | 72 69 67 67 65 72 65 64 |ess is t|riggered|
|00002b70| 20 62 79 20 74 68 65 20 | 73 68 65 6c 6c 20 63 61 | by the |shell ca|
|00002b80| 6c 6c 69 6e 67 0d 2f 2f | 20 58 4d 50 44 69 73 70 |lling.//| XMPDisp|
|00002b90| 61 74 63 68 65 72 3a 3a | 47 65 74 4d 6f 75 73 65 |atcher::|GetMouse|
|00002ba0| 52 65 67 69 6f 6e 28 29 | 20 61 6e 64 20 70 61 73 |Region()| and pas|
|00002bb0| 73 69 6e 67 20 74 68 65 | 20 72 65 73 75 6c 74 20 |sing the| result |
|00002bc0| 74 6f 0d 2f 2f 20 57 61 | 69 74 4e 65 78 74 45 76 |to.// Wa|itNextEv|
|00002bd0| 65 6e 74 28 29 2e 20 54 | 68 65 20 72 65 67 69 6f |ent(). T|he regio|
|00002be0| 6e 20 69 73 20 6f 6e 6c | 79 20 72 65 63 6f 6d 70 |n is onl|y recomp|
|00002bf0| 75 74 65 64 20 77 68 65 | 6e 20 6e 65 63 65 73 73 |uted whe|n necess|
|00002c00| 61 72 79 2e 20 0d 2f 2f | 20 49 66 20 74 68 65 20 |ary. .//| If the |
|00002c10| 63 75 72 73 6f 72 20 69 | 73 20 6d 6f 74 69 6f 6e |cursor i|s motion|
|00002c20| 6c 65 73 73 20 77 69 74 | 68 69 6e 20 61 20 66 61 |less wit|hin a fa|
|00002c30| 63 65 74 2c 20 74 68 65 | 20 73 68 65 6c 6c 20 61 |cet, the| shell a|
|00002c40| 70 70 6c 69 63 61 74 69 | 6f 6e 0d 2f 2f 20 67 6f |pplicati|on.// go|
|00002c50| 65 73 20 74 6f 20 73 6c | 65 65 70 20 62 65 63 61 |es to sl|eep beca|
|00002c60| 75 73 65 20 4f 70 65 6e | 44 6f 63 20 63 6f 6d 70 |use Open|Doc comp|
|00002c70| 75 74 65 73 20 61 20 6d | 6f 75 73 65 20 72 65 67 |utes a m|ouse reg|
|00002c80| 69 6f 6e 20 63 6f 6e 74 | 61 69 6e 69 6e 67 0d 2f |ion cont|aining./|
|00002c90| 2f 20 6a 75 73 74 20 74 | 68 65 20 63 75 72 73 6f |/ just t|he curso|
|00002ca0| 72 20 6c 6f 63 61 74 69 | 6f 6e 2e 20 54 68 65 20 |r locati|on. The |
|00002cb0| 70 61 72 74 20 63 61 6e | 20 6d 61 6b 65 20 74 68 |part can| make th|
|00002cc0| 69 73 20 72 65 67 69 6f | 6e 20 6c 61 72 67 65 72 |is regio|n larger|
|00002cd0| 0d 2f 2f 20 62 79 20 63 | 61 6c 6c 69 6e 67 20 58 |.// by c|alling X|
|00002ce0| 4d 50 44 69 73 70 61 74 | 63 68 65 72 3a 3a 53 65 |MPDispat|cher::Se|
|00002cf0| 74 4d 6f 75 73 65 52 65 | 67 69 6f 6e 28 29 2e 20 |tMouseRe|gion(). |
|00002d00| 49 6e 20 61 20 66 75 74 | 75 72 65 20 72 65 6c 65 |In a fut|ure rele|
|00002d10| 61 73 65 2c 0d 2f 2f 20 | 4f 70 65 6e 44 6f 63 20 |ase,.// |OpenDoc |
|00002d20| 77 69 6c 6c 20 61 6c 73 | 6f 20 63 6f 6d 70 75 74 |will als|o comput|
|00002d30| 65 20 61 20 73 75 69 74 | 61 62 6c 79 20 6c 61 72 |e a suit|ably lar|
|00002d40| 67 65 20 73 6c 65 65 70 | 20 72 65 67 69 6f 6e 20 |ge sleep| region |
|00002d50| 69 66 20 74 68 65 0d 2f | 2f 20 63 75 72 73 6f 72 |if the./|/ cursor|
|00002d60| 20 69 73 20 6e 6f 74 20 | 77 69 74 68 69 6e 20 61 | is not |within a|
|00002d70| 6e 79 20 66 61 63 65 74 | 2e 0d 2f 2f 0d 2f 2f 20 |ny facet|..//.// |
|00002d80| 4d 6f 64 61 6c 20 46 6f | 63 75 73 20 2d 2d 0d 2f |Modal Fo|cus --./|
|00002d90| 2f 20 53 6f 6d 65 20 65 | 76 65 6e 74 73 20 61 72 |/ Some e|vents ar|
|00002da0| 65 20 63 6f 6e 73 74 72 | 61 69 6e 65 64 20 62 79 |e constr|ained by|
|00002db0| 20 74 68 65 20 6d 6f 64 | 61 6c 20 66 6f 63 75 73 | the mod|al focus|
|00002dc0| 2e 20 46 6f 72 20 65 78 | 61 6d 70 6c 65 20 61 0d |. For ex|ample a.|
|00002dd0| 2f 2f 20 6d 6f 75 73 65 | 20 63 6c 69 63 6b 20 6f |// mouse| click o|
|00002de0| 75 74 73 69 64 65 20 74 | 68 65 20 66 72 61 6d 65 |utside t|he frame|
|00002df0| 20 77 69 74 68 20 74 68 | 65 20 6d 6f 64 61 6c 20 | with th|e modal |
|00002e00| 66 6f 63 75 73 20 77 69 | 6c 6c 20 62 65 20 73 65 |focus wi|ll be se|
|00002e10| 6e 74 0d 2f 2f 20 74 6f | 20 74 68 65 20 6d 6f 64 |nt.// to| the mod|
|00002e20| 61 6c 20 66 6f 63 75 73 | 20 66 72 61 6d 65 2c 20 |al focus| frame, |
|00002e30| 62 75 74 20 61 20 63 6c | 69 63 6b 20 69 6e 20 61 |but a cl|ick in a|
|00002e40| 6e 20 65 6d 62 65 64 64 | 65 64 20 66 72 61 6d 65 |n embedd|ed frame|
|00002e50| 0d 2f 2f 20 77 69 74 68 | 69 6e 20 74 68 65 20 6d |.// with|in the m|
|00002e60| 6f 64 61 6c 20 66 6f 63 | 75 73 20 66 72 61 6d 65 |odal foc|us frame|
|00002e70| 20 77 69 6c 6c 20 67 6f | 20 74 6f 20 74 68 65 20 | will go| to the |
|00002e80| 65 6d 62 65 64 64 65 64 | 20 66 72 61 6d 65 2e 20 |embedded| frame. |
|00002e90| 0d 2f 2f 0d 2f 2f 20 50 | 72 6f 70 61 67 61 74 69 |.//.// P|ropagati|
|00002ea0| 6e 67 20 45 76 65 6e 74 | 73 20 2d 2d 0d 2f 2f 20 |ng Event|s --.// |
|00002eb0| 49 66 20 61 20 63 6f 6e | 74 61 69 6e 69 6e 67 20 |If a con|taining |
|00002ec0| 70 61 72 74 20 73 65 74 | 73 20 74 68 65 20 d2 44 |part set|s the .D|
|00002ed0| 6f 65 73 50 72 6f 70 61 | 67 61 74 65 45 76 65 6e |oesPropa|gateEven|
|00002ee0| 74 73 d3 20 70 72 6f 70 | 65 72 74 79 20 6f 66 0d |ts. prop|erty of.|
|00002ef0| 2f 2f 20 61 6e 20 65 6d | 62 65 64 64 65 64 20 66 |// an em|bedded f|
|00002f00| 72 61 6d 65 2c 20 74 68 | 65 20 63 6f 6e 74 61 69 |rame, th|e contai|
|00002f10| 6e 69 6e 67 20 70 61 72 | 74 20 77 69 6c 6c 20 72 |ning par|t will r|
|00002f20| 65 63 65 69 76 65 20 65 | 76 65 6e 74 73 20 6e 6f |eceive e|vents no|
|00002f30| 74 0d 2f 2f 20 68 61 6e | 64 6c 65 64 20 62 79 20 |t.// han|dled by |
|00002f40| 74 68 65 20 65 6d 62 65 | 64 64 65 64 20 66 72 61 |the embe|dded fra|
|00002f50| 6d 65 2e 20 41 20 70 61 | 72 74 20 77 68 69 63 68 |me. A pa|rt which|
|00002f60| 20 64 6f 65 73 20 74 68 | 69 73 20 77 69 6c 6c 20 | does th|is will |
|00002f70| 68 61 76 65 0d 2f 2f 20 | 74 6f 20 69 6e 73 70 65 |have.// |to inspe|
|00002f80| 63 74 20 74 68 65 20 66 | 72 61 6d 65 20 70 61 73 |ct the f|rame pas|
|00002f90| 73 65 64 20 74 6f 20 48 | 61 6e 64 6c 65 45 76 65 |sed to H|andleEve|
|00002fa0| 6e 74 28 29 20 74 6f 20 | 64 65 74 65 72 6d 69 6e |nt() to |determin|
|00002fb0| 65 20 69 66 20 69 74 0d | 2f 2f 20 69 73 20 6f 6e |e if it.|// is on|
|00002fc0| 65 20 6f 66 20 69 74 73 | 20 64 69 73 70 6c 61 79 |e of its| display|
|00002fd0| 20 66 72 61 6d 65 73 2e | 0d 0d 7d 0d 0d 0d 76 6f | frames.|..}...vo|
|00002fe0| 69 64 20 48 65 6c 6c 6f | 50 61 72 74 3a 3a 41 64 |id Hello|Part::Ad|
|00002ff0| 6a 75 73 74 4d 65 6e 75 | 73 28 58 4d 50 46 72 61 |justMenu|s(XMPFra|
|00003000| 6d 65 2a 20 66 72 61 6d | 65 29 0d 7b 0d 09 53 74 |me* fram|e).{..St|
|00003010| 72 36 33 09 61 62 6f 75 | 74 54 65 78 74 2c 20 73 |r63.abou|tText, s|
|00003020| 68 6f 77 50 61 72 74 73 | 42 69 6e 2c 20 68 69 64 |howParts|Bin, hid|
|00003030| 65 50 61 72 74 73 42 69 | 6e 3b 0d 0d 09 57 65 42 |ePartsBi|n;...WeB|
|00003040| 65 48 65 72 65 28 22 48 | 65 6c 6c 6f 50 61 72 74 |eHere("H|elloPart|
|00003050| 3a 3a 41 64 6a 75 73 74 | 4d 65 6e 75 73 22 29 3b |::Adjust|Menus");|
|00003060| 0d 58 4d 50 55 6e 75 73 | 65 64 28 66 72 61 6d 65 |.XMPUnus|ed(frame|
|00003070| 29 3b 0d 09 66 4d 65 6e | 75 42 61 72 2d 3e 45 6e |);..fMen|uBar->En|
|00003080| 61 62 6c 65 43 6f 6d 6d | 61 6e 64 28 6b 58 4d 50 |ableComm|and(kXMP|
|00003090| 43 6f 6d 6d 61 6e 64 56 | 69 65 77 41 73 57 69 6e |CommandV|iewAsWin|
|000030a0| 2c 20 21 66 72 61 6d 65 | 2d 3e 49 73 52 6f 6f 74 |, !frame|->IsRoot|
|000030b0| 28 29 29 3b 0d 09 66 4d | 65 6e 75 42 61 72 2d 3e |());..fM|enuBar->|
|000030c0| 45 6e 61 62 6c 65 43 6f | 6d 6d 61 6e 64 28 6b 58 |EnableCo|mmand(kX|
|000030d0| 4d 50 43 6f 6d 6d 61 6e | 64 47 65 74 50 61 72 74 |MPComman|dGetPart|
|000030e0| 49 6e 66 6f 2c 20 6b 58 | 4d 50 54 72 75 65 29 3b |Info, kX|MPTrue);|
|000030f0| 0d 09 66 4d 65 6e 75 42 | 61 72 2d 3e 45 6e 61 62 |..fMenuB|ar->Enab|
|00003100| 6c 65 43 6f 6d 6d 61 6e | 64 28 6b 58 4d 50 43 6f |leComman|d(kXMPCo|
|00003110| 6d 6d 61 6e 64 53 68 6f | 77 50 61 72 74 73 42 69 |mmandSho|wPartsBi|
|00003120| 6e 2c 20 6b 58 4d 50 54 | 72 75 65 29 3b 0d 0d 09 |n, kXMPT|rue);...|
|00003130| 7b 0d 09 09 43 55 73 65 | 45 64 69 74 6f 72 52 65 |{...CUse|EditorRe|
|00003140| 73 46 69 6c 65 20 66 69 | 6c 3b 0d 09 09 47 65 74 |sFile fi|l;...Get|
|00003150| 49 6e 64 53 74 72 69 6e | 67 28 61 62 6f 75 74 54 |IndStrin|g(aboutT|
|00003160| 65 78 74 2c 20 20 20 20 | 6b 43 6f 6e 74 65 6e 74 |ext, |kContent|
|00003170| 53 74 72 69 6e 67 52 65 | 73 49 44 2c 20 6b 41 62 |StringRe|sID, kAb|
|00003180| 6f 75 74 54 65 78 74 49 | 44 29 3b 0d 09 09 47 65 |outTextI|D);...Ge|
|00003190| 74 49 6e 64 53 74 72 69 | 6e 67 28 73 68 6f 77 50 |tIndStri|ng(showP|
|000031a0| 61 72 74 73 42 69 6e 2c | 20 6b 43 6f 6e 74 65 6e |artsBin,| kConten|
|000031b0| 74 53 74 72 69 6e 67 52 | 65 73 49 44 2c 20 6b 53 |tStringR|esID, kS|
|000031c0| 68 6f 77 50 61 72 74 73 | 42 69 6e 49 44 29 3b 0d |howParts|BinID);.|
|000031d0| 09 09 47 65 74 49 6e 64 | 53 74 72 69 6e 67 28 68 |..GetInd|String(h|
|000031e0| 69 64 65 50 61 72 74 73 | 42 69 6e 2c 20 6b 43 6f |ideParts|Bin, kCo|
|000031f0| 6e 74 65 6e 74 53 74 72 | 69 6e 67 52 65 73 49 44 |ntentStr|ingResID|
|00003200| 2c 20 6b 48 69 64 65 50 | 61 72 74 73 42 69 6e 49 |, kHideP|artsBinI|
|00003210| 44 29 3b 0d 09 7d 0d 09 | 0d 09 66 4d 65 6e 75 42 |D);..}..|..fMenuB|
|00003220| 61 72 2d 3e 53 65 74 49 | 74 65 6d 53 74 72 69 6e |ar->SetI|temStrin|
|00003230| 67 28 6b 58 4d 50 43 6f | 6d 6d 61 6e 64 41 62 6f |g(kXMPCo|mmandAbo|
|00003240| 75 74 2c 20 61 62 6f 75 | 74 54 65 78 74 29 3b 0d |ut, abou|tText);.|
|00003250| 0d 09 69 66 20 28 66 50 | 61 72 74 73 42 69 6e 57 |..if (fP|artsBinW|
|00003260| 69 6e 29 0d 09 7b 0d 09 | 09 58 4d 50 57 69 6e 64 |in)..{..|.XMPWind|
|00003270| 6f 77 2a 20 77 69 6e 64 | 6f 77 20 3d 20 66 53 65 |ow* wind|ow = fSe|
|00003280| 73 73 69 6f 6e 2d 3e 47 | 65 74 57 69 6e 64 6f 77 |ssion->G|etWindow|
|00003290| 53 74 61 74 65 28 29 2d | 3e 47 65 74 57 69 6e 64 |State()-|>GetWind|
|000032a0| 6f 77 28 66 50 61 72 74 | 73 42 69 6e 57 69 6e 29 |ow(fPart|sBinWin)|
|000032b0| 3b 0d 09 09 69 66 20 28 | 77 69 6e 64 6f 77 29 20 |;...if (|window) |
|000032c0| 0d 09 09 09 66 50 61 72 | 74 73 42 69 6e 4f 70 65 |....fPar|tsBinOpe|
|000032d0| 6e 20 3d 20 77 69 6e 64 | 6f 77 2d 3e 49 73 53 68 |n = wind|ow->IsSh|
|000032e0| 6f 77 6e 28 29 3b 0d 09 | 09 65 6c 73 65 0d 09 09 |own();..|.else...|
|000032f0| 09 66 50 61 72 74 73 42 | 69 6e 4f 70 65 6e 20 3d |.fPartsB|inOpen =|
|00003300| 20 6b 58 4d 50 46 61 6c | 73 65 3b 0d 09 7d 0d 09 | kXMPFal|se;..}..|
|00003310| 0d 09 69 66 20 28 66 50 | 61 72 74 73 42 69 6e 4f |..if (fP|artsBinO|
|00003320| 70 65 6e 29 0d 09 09 66 | 4d 65 6e 75 42 61 72 2d |pen)...f|MenuBar-|
|00003330| 3e 53 65 74 49 74 65 6d | 53 74 72 69 6e 67 28 6b |>SetItem|String(k|
|00003340| 58 4d 50 43 6f 6d 6d 61 | 6e 64 53 68 6f 77 50 61 |XMPComma|ndShowPa|
|00003350| 72 74 73 42 69 6e 2c 20 | 68 69 64 65 50 61 72 74 |rtsBin, |hidePart|
|00003360| 73 42 69 6e 29 3b 0d 09 | 65 6c 73 65 0d 09 09 66 |sBin);..|else...f|
|00003370| 4d 65 6e 75 42 61 72 2d | 3e 53 65 74 49 74 65 6d |MenuBar-|>SetItem|
|00003380| 53 74 72 69 6e 67 28 6b | 58 4d 50 43 6f 6d 6d 61 |String(k|XMPComma|
|00003390| 6e 64 53 68 6f 77 50 61 | 72 74 73 42 69 6e 2c 20 |ndShowPa|rtsBin, |
|000033a0| 73 68 6f 77 50 61 72 74 | 73 42 69 6e 29 3b 0d 7d |showPart|sBin);.}|
|000033b0| 0d 0d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....//--|--------|
|000033c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 48 65 |--------|--.// He|
|00003400| 6c 6c 6f 50 61 72 74 3a | 3a 4d 79 48 61 6e 64 6c |lloPart:|:MyHandl|
|00003410| 65 4d 65 6e 75 45 76 65 | 6e 74 0d 2f 2f 2d 2d 2d |eMenuEve|nt.//---|
|00003420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003460| 2d 0d 0d 58 4d 50 42 6f | 6f 6c 65 61 6e 20 48 65 |-..XMPBo|olean He|
|00003470| 6c 6c 6f 50 61 72 74 3a | 3a 4d 79 48 61 6e 64 6c |lloPart:|:MyHandl|
|00003480| 65 4d 65 6e 75 45 76 65 | 6e 74 28 58 4d 50 46 72 |eMenuEve|nt(XMPFr|
|00003490| 61 6d 65 2a 20 66 72 61 | 6d 65 2c 0d 09 09 09 09 |ame* fra|me,.....|
|000034a0| 09 09 09 09 09 09 58 4d | 50 45 76 65 6e 74 44 61 |......XM|PEventDa|
|000034b0| 74 61 20 65 76 65 6e 74 | 29 0d 7b 0d 09 57 65 42 |ta event|).{..WeB|
|000034c0| 65 48 65 72 65 28 22 48 | 65 6c 6c 6f 50 61 72 74 |eHere("H|elloPart|
|000034d0| 3a 3a 4d 79 48 61 6e 64 | 6c 65 4d 65 6e 75 45 76 |::MyHand|leMenuEv|
|000034e0| 65 6e 74 22 29 3b 0d 58 | 4d 50 55 6e 75 73 65 64 |ent");.X|MPUnused|
|000034f0| 28 66 72 61 6d 65 29 3b | 0d 09 6c 6f 6e 67 09 6d |(frame);|..long.m|
|00003500| 65 6e 75 52 65 73 75 6c | 74 20 3d 20 65 76 65 6e |enuResul|t = even|
|00003510| 74 2d 3e 6d 65 73 73 61 | 67 65 3b 0d 09 73 68 6f |t->messa|ge;..sho|
|00003520| 72 74 09 6d 65 6e 75 20 | 3d 20 48 69 57 6f 72 64 |rt.menu |= HiWord|
|00003530| 28 6d 65 6e 75 52 65 73 | 75 6c 74 29 3b 0d 09 73 |(menuRes|ult);..s|
|00003540| 68 6f 72 74 09 69 74 65 | 6d 20 3d 20 4c 6f 57 6f |hort.ite|m = LoWo|
|00003550| 72 64 28 6d 65 6e 75 52 | 65 73 75 6c 74 29 3b 0d |rd(menuR|esult);.|
|00003560| 0d 09 69 66 20 28 6d 65 | 6e 75 29 20 7b 09 09 09 |..if (me|nu) {...|
|00003570| 2f 2f 20 49 66 20 79 6f | 75 72 20 63 75 73 74 6f |// If yo|ur custo|
|00003580| 6d 20 6d 65 6e 75 28 73 | 29 2e 2e 2e 20 20 a5 a5 |m menu(s|)... ..|
|00003590| 20 36 2f 32 33 2f 39 34 | 0d 0d 09 09 73 77 69 74 | 6/23/94|....swit|
|000035a0| 63 68 28 20 66 4d 65 6e | 75 42 61 72 2d 3e 47 65 |ch( fMen|uBar->Ge|
|000035b0| 74 43 6f 6d 6d 61 6e 64 | 28 6d 65 6e 75 2c 20 69 |tCommand|(menu, i|
|000035c0| 74 65 6d 29 20 29 20 7b | 0d 0d 09 09 09 63 61 73 |tem) ) {|.....cas|
|000035d0| 65 20 6b 58 4d 50 43 6f | 6d 6d 61 6e 64 41 62 6f |e kXMPCo|mmandAbo|
|000035e0| 75 74 3a 0d 09 09 09 7b | 0d 09 09 09 09 43 55 73 |ut:....{|.....CUs|
|000035f0| 65 45 64 69 74 6f 72 52 | 65 73 46 69 6c 65 20 66 |eEditorR|esFile f|
|00003600| 69 6c 3b 0d 09 09 0d 09 | 09 09 09 69 66 20 28 66 |il;.....|...if (f|
|00003610| 53 65 73 73 69 6f 6e 2d | 3e 47 65 74 41 72 62 69 |Session-|>GetArbi|
|00003620| 74 72 61 74 6f 72 28 29 | 2d 3e 52 65 71 75 65 73 |trator()|->Reques|
|00003630| 74 46 6f 63 75 73 28 66 | 4d 6f 64 61 6c 46 6f 63 |tFocus(f|ModalFoc|
|00003640| 75 73 2c 66 72 61 6d 65 | 29 29 0d 09 09 09 09 7b |us,frame|)).....{|
|00003650| 0d 09 09 09 09 09 53 65 | 74 43 75 72 73 6f 72 28 |......Se|tCursor(|
|00003660| 26 58 4d 50 41 53 4c 4d | 51 44 47 6c 6f 62 61 6c |&XMPASLM|QDGlobal|
|00003670| 73 2e 61 72 72 6f 77 29 | 3b 0d 09 09 09 09 09 67 |s.arrow)|;......g|
|00003680| 53 65 73 73 69 6f 6e 20 | 3d 20 66 53 65 73 73 69 |Session |= fSessi|
|00003690| 6f 6e 3b 09 09 2f 2f 20 | 44 69 61 6c 6f 67 46 69 |on;..// |DialogFi|
|000036a0| 6c 74 65 72 20 75 73 65 | 73 20 74 68 69 73 21 0d |lter use|s this!.|
|000036b0| 09 09 09 09 09 4d 6f 64 | 61 6c 46 69 6c 74 65 72 |.....Mod|alFilter|
|000036c0| 55 50 50 20 6d 6f 64 61 | 6c 46 69 6c 74 65 72 20 |UPP moda|lFilter |
|000036d0| 3d 20 4e 65 77 4d 6f 64 | 61 6c 46 69 6c 74 65 72 |= NewMod|alFilter|
|000036e0| 50 72 6f 63 28 4d 79 44 | 69 61 6c 6f 67 46 69 6c |Proc(MyD|ialogFil|
|000036f0| 74 65 72 29 3b 0d 09 09 | 09 09 09 41 6c 65 72 74 |ter);...|...Alert|
|00003700| 28 6b 48 65 6c 6c 6f 50 | 61 72 74 41 62 6f 75 74 |(kHelloP|artAbout|
|00003710| 42 6f 78 49 44 2c 20 6d | 6f 64 61 6c 46 69 6c 74 |BoxID, m|odalFilt|
|00003720| 65 72 29 3b 0d 09 09 09 | 09 09 44 69 73 70 6f 73 |er);....|..Dispos|
|00003730| 65 52 6f 75 74 69 6e 65 | 44 65 73 63 72 69 70 74 |eRoutine|Descript|
|00003740| 6f 72 28 6d 6f 64 61 6c | 46 69 6c 74 65 72 29 3b |or(modal|Filter);|
|00003750| 0d 09 09 09 09 09 66 53 | 65 73 73 69 6f 6e 2d 3e |......fS|ession->|
|00003760| 47 65 74 41 72 62 69 74 | 72 61 74 6f 72 28 29 2d |GetArbit|rator()-|
|00003770| 3e 52 65 6c 69 6e 71 75 | 69 73 68 46 6f 63 75 73 |>Relinqu|ishFocus|
|00003780| 28 66 4d 6f 64 61 6c 46 | 6f 63 75 73 2c 66 72 61 |(fModalF|ocus,fra|
|00003790| 6d 65 29 3b 0d 09 09 09 | 09 7d 0d 09 09 09 09 65 |me);....|.}.....e|
|000037a0| 6c 73 65 0d 09 09 09 09 | 09 53 79 73 42 65 65 70 |lse.....|.SysBeep|
|000037b0| 28 31 29 3b 0d 09 09 09 | 09 62 72 65 61 6b 3b 0d |(1);....|.break;.|
|000037c0| 09 09 09 7d 0d 0d 09 09 | 09 63 61 73 65 20 6b 58 |...}....|.case kX|
|000037d0| 4d 50 43 6f 6d 6d 61 6e | 64 43 6c 65 61 72 3a 0d |MPComman|dClear:.|
|000037e0| 09 09 09 09 62 72 65 61 | 6b 3b 0d 0d 09 09 09 63 |....brea|k;.....c|
|000037f0| 61 73 65 20 6b 58 4d 50 | 43 6f 6d 6d 61 6e 64 53 |ase kXMP|CommandS|
|00003800| 68 6f 77 50 61 72 74 73 | 42 69 6e 3a 0d 09 09 09 |howParts|Bin:....|
|00003810| 09 69 66 20 28 66 50 61 | 72 74 73 42 69 6e 4f 70 |.if (fPa|rtsBinOp|
|00003820| 65 6e 29 0d 09 09 09 09 | 09 74 68 69 73 2d 3e 4d |en).....|.this->M|
|00003830| 79 48 69 64 65 50 61 72 | 74 73 42 69 6e 28 29 3b |yHidePar|tsBin();|
|00003840| 0d 09 09 09 09 65 6c 73 | 65 0d 09 09 09 09 09 74 |.....els|e......t|
|00003850| 68 69 73 2d 3e 4d 79 53 | 68 6f 77 50 61 72 74 73 |his->MyS|howParts|
|00003860| 42 69 6e 28 66 72 61 6d | 65 29 3b 0d 09 09 09 09 |Bin(fram|e);.....|
|00003870| 62 72 65 61 6b 3b 0d 0d | 09 09 09 63 61 73 65 20 |break;..|...case |
|00003880| 6b 58 4d 50 43 6f 6d 6d | 61 6e 64 56 69 65 77 41 |kXMPComm|andViewA|
|00003890| 73 57 69 6e 3a 0d 09 09 | 09 09 74 68 69 73 2d 3e |sWin:...|..this->|
|000038a0| 4f 70 65 6e 28 66 72 61 | 6d 65 29 3b 0d 09 09 09 |Open(fra|me);....|
|000038b0| 09 62 72 65 61 6b 3b 0d | 0d 09 09 09 63 61 73 65 |.break;.|....case|
|000038c0| 20 6b 58 4d 50 43 6f 6d | 6d 61 6e 64 47 65 74 50 | kXMPCom|mandGetP|
|000038d0| 61 72 74 49 6e 66 6f 3a | 0d 09 09 09 09 53 68 6f |artInfo:|.....Sho|
|000038e0| 77 50 61 72 74 46 72 61 | 6d 65 49 6e 66 6f 28 66 |wPartFra|meInfo(f|
|000038f0| 72 61 6d 65 29 3b 0d 09 | 09 09 09 62 72 65 61 6b |rame);..|...break|
|00003900| 3b 0d 0d 09 09 09 64 65 | 66 61 75 6c 74 3a 0d 09 |;.....de|fault:..|
|00003910| 09 09 09 72 65 74 75 72 | 6e 20 6b 58 4d 50 46 61 |...retur|n kXMPFa|
|00003920| 6c 73 65 3b 0d 09 09 7d | 0d 09 7d 0d 09 09 0d 09 |lse;...}|..}.....|
|00003930| 72 65 74 75 72 6e 20 6b | 58 4d 50 54 72 75 65 3b |return k|XMPTrue;|
|00003940| 0d 7d 0d 0d 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |.}....//|--------|
|00003950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003990| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 48 65 6c 6c 6f 50 |------./|/ HelloP|
|000039a0| 61 72 74 3a 3a 4d 79 48 | 61 6e 64 6c 65 4d 6f 75 |art::MyH|andleMou|
|000039b0| 73 65 44 6f 77 6e 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |seDown./|/-------|
|000039c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a00| 2d 2d 2d 2d 2d 2d 2d 0d | 0d 58 4d 50 42 6f 6f 6c |-------.|.XMPBool|
|00003a10| 65 61 6e 20 48 65 6c 6c | 6f 50 61 72 74 3a 3a 4d |ean Hell|oPart::M|
|00003a20| 79 48 61 6e 64 6c 65 4d | 6f 75 73 65 44 6f 77 6e |yHandleM|ouseDown|
|00003a30| 28 58 4d 50 45 76 65 6e | 74 44 61 74 61 20 65 76 |(XMPEven|tData ev|
|00003a40| 65 6e 74 2c 20 58 4d 50 | 46 72 61 6d 65 2a 20 66 |ent, XMP|Frame* f|
|00003a50| 72 61 6d 65 2c 20 58 4d | 50 46 61 63 65 74 2a 20 |rame, XM|PFacet* |
|00003a60| 66 61 63 65 74 29 0d 7b | 0d 09 57 65 42 65 48 65 |facet).{|..WeBeHe|
|00003a70| 72 65 28 22 48 65 6c 6c | 6f 50 61 72 74 3a 3a 4d |re("Hell|oPart::M|
|00003a80| 79 48 61 6e 64 6c 65 4d | 6f 75 73 65 44 6f 77 6e |yHandleM|ouseDown|
|00003a90| 22 29 3b 0d 58 4d 50 55 | 6e 75 73 65 64 28 66 72 |");.XMPU|nused(fr|
|00003aa0| 61 6d 65 29 3b 0d 09 58 | 4d 50 42 6f 6f 6c 65 61 |ame);..X|MPBoolea|
|00003ab0| 6e 20 74 57 61 73 48 61 | 6e 64 6c 65 64 20 3d 20 |n tWasHa|ndled = |
|00003ac0| 6b 58 4d 50 46 61 6c 73 | 65 3b 0d 0d 09 2f 2f 20 |kXMPFals|e;...// |
|00003ad0| a5 a5 20 47 6f 74 20 72 | 69 64 20 6f 66 20 65 6c |.. Got r|id of el|
|00003ae0| 73 65 20 69 66 20 68 61 | 6e 64 6c 69 6e 67 20 6f |se if ha|ndling o|
|00003af0| 66 20 63 61 73 65 73 2e | 0d 09 2f 2f 20 20 20 20 |f cases.|..// |
|00003b00| 41 6c 73 6f 20 67 6f 74 | 20 72 69 64 20 6f 66 20 |Also got| rid of |
|00003b10| 61 20 58 4d 50 42 6f 6f | 6c 65 61 6e 20 69 6e 20 |a XMPBoo|lean in |
|00003b20| 66 72 6f 6e 74 20 6f 66 | 20 61 20 74 57 61 73 48 |front of| a tWasH|
|00003b30| 61 6e 64 6c 65 64 20 3d | 20 6b 58 4d 50 54 72 75 |andled =| kXMPTru|
|00003b40| 65 2e 0d 09 2f 2f 20 20 | 20 20 54 68 69 73 20 63 |e...// | This c|
|00003b50| 61 75 73 65 64 20 70 72 | 69 76 61 74 65 20 73 63 |aused pr|ivate sc|
|00003b60| 6f 70 65 2c 20 61 6e 64 | 20 74 68 65 72 65 66 6f |ope, and| therefo|
|00003b70| 72 65 20 74 57 61 73 48 | 61 6e 64 6c 65 64 20 77 |re tWasH|andled w|
|00003b80| 61 73 20 6e 6f 74 0d 09 | 2f 2f 20 20 20 20 70 61 |as not..|// pa|
|00003b90| 73 73 65 64 20 62 61 63 | 6b 20 61 73 20 65 78 70 |ssed bac|k as exp|
|00003ba0| 65 63 74 65 64 2e 0d 0d | 09 69 66 20 28 66 61 63 |ected...|.if (fac|
|00003bb0| 65 74 20 3d 3d 20 6b 58 | 4d 50 4e 55 4c 4c 29 09 |et == kX|MPNULL).|
|00003bc0| 09 2f 2f 20 4f 75 74 73 | 69 64 65 20 6d 6f 64 61 |.// Outs|ide moda|
|00003bd0| 6c 20 66 6f 63 75 73 0d | 09 7b 0d 09 09 53 79 73 |l focus.|.{...Sys|
|00003be0| 42 65 65 70 28 31 29 3b | 0d 09 09 72 65 74 75 72 |Beep(1);|...retur|
|00003bf0| 6e 20 6b 58 4d 50 54 72 | 75 65 3b 09 09 2f 2f 20 |n kXMPTr|ue;..// |
|00003c00| 52 65 74 75 72 6e 20 74 | 68 61 74 20 63 6c 69 63 |Return t|hat clic|
|00003c10| 6b 20 77 61 73 20 68 61 | 6e 64 6c 65 64 2e 0d 09 |k was ha|ndled...|
|00003c20| 7d 0d 0d 09 69 66 20 28 | 49 73 44 69 61 6c 6f 67 |}...if (|IsDialog|
|00003c30| 45 76 65 6e 74 28 65 76 | 65 6e 74 29 29 0d 09 7b |Event(ev|ent))..{|
|00003c40| 0d 09 09 73 68 6f 72 74 | 20 69 74 65 6d 48 69 74 |...short| itemHit|
|00003c50| 3b 0d 09 09 44 69 61 6c | 6f 67 50 74 72 20 64 69 |;...Dial|ogPtr di|
|00003c60| 61 6c 6f 67 3b 0d 09 09 | 74 57 61 73 48 61 6e 64 |alog;...|tWasHand|
|00003c70| 6c 65 64 20 3d 20 44 69 | 61 6c 6f 67 53 65 6c 65 |led = Di|alogSele|
|00003c80| 63 74 28 65 76 65 6e 74 | 2c 20 26 64 69 61 6c 6f |ct(event|, &dialo|
|00003c90| 67 2c 20 26 69 74 65 6d | 48 69 74 29 3b 0d 09 09 |g, &item|Hit);...|
|00003ca0| 58 4d 50 57 69 6e 64 6f | 77 2a 20 77 69 6e 64 6f |XMPWindo|w* windo|
|00003cb0| 77 20 3d 20 66 53 65 73 | 73 69 6f 6e 2d 3e 47 65 |w = fSes|sion->Ge|
|00003cc0| 74 57 69 6e 64 6f 77 53 | 74 61 74 65 28 29 2d 3e |tWindowS|tate()->|
|00003cd0| 47 65 74 58 4d 50 57 69 | 6e 64 6f 77 28 64 69 61 |GetXMPWi|ndow(dia|
|00003ce0| 6c 6f 67 29 3b 0d 09 09 | 72 65 74 75 72 6e 20 74 |log);...|return t|
|00003cf0| 57 61 73 48 61 6e 64 6c | 65 64 3b 0d 09 7d 0d 0d |WasHandl|ed;..}..|
|00003d00| 09 69 66 20 28 21 66 61 | 63 65 74 2d 3e 47 65 74 |.if (!fa|cet->Get|
|00003d10| 57 69 6e 64 6f 77 28 29 | 2d 3e 49 73 41 63 74 69 |Window()|->IsActi|
|00003d20| 76 65 28 29 29 0d 09 09 | 66 61 63 65 74 2d 3e 47 |ve())...|facet->G|
|00003d30| 65 74 57 69 6e 64 6f 77 | 28 29 2d 3e 53 65 6c 65 |etWindow|()->Sele|
|00003d40| 63 74 28 29 3b 0d 09 65 | 6c 73 65 0d 09 7b 0d 09 |ct();..e|lse..{..|
|00003d50| 09 2f 2f 24 24 24 24 24 | 20 49 73 20 74 68 65 20 |.//$$$$$| Is the |
|00003d60| 66 6f 63 75 73 20 73 74 | 75 66 66 20 6e 65 63 65 |focus st|uff nece|
|00003d70| 73 73 61 72 79 3f 20 49 | 74 20 66 6c 69 63 6b 65 |ssary? I|t flicke|
|00003d80| 72 73 20 74 68 65 20 66 | 72 61 6d 65 20 62 6f 72 |rs the f|rame bor|
|00003d90| 64 65 72 0d 09 09 58 4d | 50 46 72 61 6d 65 2a 20 |der...XM|PFrame* |
|00003da0| 66 72 61 6d 65 20 3d 20 | 66 61 63 65 74 2d 3e 47 |frame = |facet->G|
|00003db0| 65 74 46 72 61 6d 65 28 | 29 3b 0d 09 09 69 66 20 |etFrame(|);...if |
|00003dc0| 28 20 66 53 65 73 73 69 | 6f 6e 2d 3e 47 65 74 41 |( fSessi|on->GetA|
|00003dd0| 72 62 69 74 72 61 74 6f | 72 28 29 2d 3e 52 65 71 |rbitrato|r()->Req|
|00003de0| 75 65 73 74 46 6f 63 75 | 73 53 65 74 28 66 46 6f |uestFocu|sSet(fFo|
|00003df0| 63 75 73 53 65 74 2c 66 | 72 61 6d 65 29 20 29 0d |cusSet,f|rame) ).|
|00003e00| 09 09 7b 0d 09 09 09 74 | 68 69 73 2d 3e 46 6f 63 |..{....t|his->Foc|
|00003e10| 75 73 41 63 71 75 69 72 | 65 64 28 66 53 65 6c 65 |usAcquir|ed(fSele|
|00003e20| 63 74 69 6f 6e 46 6f 63 | 75 73 2c 20 66 72 61 6d |ctionFoc|us, fram|
|00003e30| 65 29 3b 0d 09 09 09 74 | 68 69 73 2d 3e 46 6f 63 |e);....t|his->Foc|
|00003e40| 75 73 41 63 71 75 69 72 | 65 64 28 66 4d 65 6e 75 |usAcquir|ed(fMenu|
|00003e50| 46 6f 63 75 73 2c 20 66 | 72 61 6d 65 29 3b 0d 09 |Focus, f|rame);..|
|00003e60| 09 09 74 68 69 73 2d 3e | 46 6f 63 75 73 41 63 71 |..this->|FocusAcq|
|00003e70| 75 69 72 65 64 28 66 4b | 65 79 46 6f 63 75 73 2c |uired(fK|eyFocus,|
|00003e80| 20 66 72 61 6d 65 29 3b | 0d 09 09 09 0d 09 09 09 | frame);|........|
|00003e90| 2f 2f 20 48 65 6c 6c 6f | 50 61 72 74 20 2d 20 4e |// Hello|Part - N|
|00003ea0| 6f 77 20 74 68 61 74 20 | 49 27 76 65 20 61 71 75 |ow that |I've aqu|
|00003eb0| 69 72 65 64 20 74 68 6f | 73 65 20 66 6f 63 69 2c |ired tho|se foci,|
|00003ec0| 20 49 20 63 61 6e 20 68 | 61 6e 64 6c 65 20 74 68 | I can h|andle th|
|00003ed0| 65 20 63 6c 69 63 6b 2e | 0d 09 09 09 2f 2f 0d 09 |e click.|....//..|
|00003ee0| 09 09 2f 2f 20 54 68 65 | 20 65 61 73 69 65 73 74 |..// The| easiest|
|00003ef0| 20 77 61 79 20 74 6f 20 | 63 6f 6e 76 65 72 74 20 | way to |convert |
|00003f00| 74 68 65 20 6c 6f 63 61 | 74 69 6f 6e 20 69 6e 74 |the loca|tion int|
|00003f10| 6f 20 66 61 63 65 74 20 | 63 6f 6f 72 64 73 0d 09 |o facet |coords..|
|00003f20| 09 09 2f 2f 20 69 73 20 | 74 6f 20 66 6f 63 75 73 |..// is |to focus|
|00003f30| 20 66 69 72 73 74 2c 20 | 74 68 65 6e 20 6c 65 74 | first, |then let|
|00003f40| 20 47 6c 6f 62 61 6c 54 | 6f 4c 6f 63 61 6c 20 64 | GlobalT|oLocal d|
|00003f50| 6f 20 74 68 65 20 6d 61 | 70 70 69 6e 67 3a 0d 0d |o the ma|pping:..|
|00003f60| 09 09 09 43 46 6f 63 75 | 73 20 66 6f 63 28 66 61 |...CFocu|s foc(fa|
|00003f70| 63 65 74 29 3b 0d 09 09 | 09 50 6f 69 6e 74 20 77 |cet);...|.Point w|
|00003f80| 68 65 72 65 20 3d 20 65 | 76 65 6e 74 2d 3e 77 68 |here = e|vent->wh|
|00003f90| 65 72 65 3b 0d 09 09 09 | 47 6c 6f 62 61 6c 54 6f |ere;....|GlobalTo|
|00003fa0| 4c 6f 63 61 6c 28 26 77 | 68 65 72 65 29 3b 0d 09 |Local(&w|here);..|
|00003fb0| 09 09 09 2f 2f 20 44 6f | 20 61 20 63 6c 69 63 6b |...// Do| a click|
|00003fc0| 69 65 20 74 68 69 6e 67 | 69 65 20 68 65 72 65 2e |ie thing|ie here.|
|00003fd0| 0d 09 09 7d 0d 09 7d 0d | 0d 09 72 65 74 75 72 6e |...}..}.|..return|
|00003fe0| 20 74 57 61 73 48 61 6e | 64 6c 65 64 3b 0d 7d 0d | tWasHan|dled;.}.|
|00003ff0| 0d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...//---|--------|
|00004000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00004040| 2f 20 46 61 63 65 74 20 | 70 72 6f 74 6f 63 6f 6c |/ Facet |protocol|
|00004050| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00004060| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 76 6f |--------|----..vo|
|000040a0| 69 64 20 48 65 6c 6c 6f | 50 61 72 74 3a 3a 46 61 |id Hello|Part::Fa|
|000040b0| 63 65 74 41 64 64 65 64 | 28 58 4d 50 46 61 63 65 |cetAdded|(XMPFace|
|000040c0| 74 2a 20 66 61 63 65 74 | 29 0d 7b 0d 09 57 65 42 |t* facet|).{..WeB|
|000040d0| 65 48 65 72 65 28 22 48 | 65 6c 6c 6f 50 61 72 74 |eHere("H|elloPart|
|000040e0| 3a 3a 46 61 63 65 74 41 | 64 64 65 64 22 29 3b 0d |::FacetA|dded");.|
|000040f0| 09 0d 09 2f 2f 20 48 65 | 6c 6c 6f 50 61 72 74 20 |...// He|lloPart |
|00004100| 2d 20 41 64 64 20 6e 65 | 77 20 66 61 63 65 74 20 |- Add ne|w facet |
|00004110| 74 6f 20 6c 69 73 74 20 | 6f 66 20 63 75 72 72 65 |to list |of curre|
|00004120| 6e 74 20 66 61 63 65 74 | 73 0d 0d 09 66 46 61 63 |nt facet|s...fFac|
|00004130| 65 74 73 2e 41 64 64 28 | 66 61 63 65 74 29 3b 0d |ets.Add(|facet);.|
|00004140| 0d 09 58 4d 50 46 72 61 | 6d 65 2a 20 66 72 61 6d |..XMPFra|me* fram|
|00004150| 65 20 3d 20 66 61 63 65 | 74 2d 3e 47 65 74 46 72 |e = face|t->GetFr|
|00004160| 61 6d 65 28 29 3b 0d 09 | 66 72 61 6d 65 2d 3e 52 |ame();..|frame->R|
|00004170| 65 71 75 65 73 74 46 72 | 61 6d 65 53 68 61 70 65 |equestFr|ameShape|
|00004180| 28 74 68 69 73 2d 3e 4d | 79 47 65 74 46 72 61 6d |(this->M|yGetFram|
|00004190| 65 53 68 61 70 65 28 66 | 72 61 6d 65 29 29 3b 0d |eShape(f|rame));.|
|000041a0| 09 09 2f 2f 20 a5 a5 20 | 46 69 72 73 74 2c 20 4d |..// .. |First, M|
|000041b0| 79 47 65 74 46 72 61 6d | 65 53 68 61 70 65 20 69 |yGetFram|eShape i|
|000041c0| 73 20 63 61 6c 6c 65 64 | 20 74 6f 20 63 61 6c 63 |s called| to calc|
|000041d0| 75 6c 61 74 65 20 74 68 | 65 20 66 72 61 6d 65 0d |ulate th|e frame.|
|000041e0| 09 09 2f 2f 20 73 68 61 | 70 65 20 77 65 20 77 61 |..// sha|pe we wa|
|000041f0| 6e 74 2e 20 20 48 6f 77 | 65 76 65 72 2c 20 77 65 |nt. How|ever, we|
|00004200| 20 6d 69 67 68 74 20 6e | 6f 74 20 67 65 74 20 69 | might n|ot get i|
|00004210| 74 2c 20 64 75 65 20 74 | 6f 20 74 68 65 0d 09 09 |t, due t|o the...|
|00004220| 2f 2f 20 6e 65 65 64 73 | 2f 63 6f 6e 73 74 72 61 |// needs|/constra|
|00004230| 69 6e 74 73 20 6f 66 20 | 74 68 65 20 63 6f 6e 74 |ints of |the cont|
|00004240| 61 69 6e 69 6e 67 20 70 | 61 72 74 2e 20 20 54 68 |aining p|art. Th|
|00004250| 65 72 65 66 6f 72 65 2c | 20 61 66 74 65 72 0d 09 |erefore,| after..|
|00004260| 09 2f 2f 20 63 61 6c 63 | 75 6c 61 74 69 6e 67 20 |.// calc|ulating |
|00004270| 77 68 61 74 20 77 65 20 | 77 61 6e 74 2c 20 77 65 |what we |want, we|
|00004280| 20 73 65 65 20 69 66 20 | 77 65 20 63 61 6e 20 67 | see if |we can g|
|00004290| 65 74 20 69 74 20 62 79 | 20 63 61 6c 6c 69 6e 67 |et it by| calling|
|000042a0| 0d 09 09 2f 2f 20 52 65 | 71 75 65 73 74 46 72 61 |...// Re|questFra|
|000042b0| 6d 65 53 68 61 70 65 2e | 0d 09 09 2f 2f 20 52 65 |meShape.|...// Re|
|000042c0| 71 75 65 73 74 46 72 61 | 6d 65 53 68 61 70 65 20 |questFra|meShape |
|000042d0| 65 69 74 68 65 72 20 72 | 65 74 75 72 6e 73 20 75 |either r|eturns u|
|000042e0| 73 20 77 68 61 74 20 77 | 65 20 70 61 73 73 65 64 |s what w|e passed|
|000042f0| 20 69 74 2c 20 6f 72 0d | 09 09 2f 2f 20 72 65 74 | it, or.|..// ret|
|00004300| 75 72 6e 73 20 73 6f 6d | 65 74 68 69 6e 67 20 65 |urns som|ething e|
|00004310| 6c 73 65 20 62 65 63 61 | 75 73 65 20 69 74 20 74 |lse beca|use it t|
|00004320| 68 69 6e 6b 73 20 69 74 | 20 6b 6e 6f 77 73 20 62 |hinks it| knows b|
|00004330| 65 73 74 2e 0d 09 09 2f | 2f 20 45 69 74 68 65 72 |est..../|/ Either|
|00004340| 20 77 61 79 2c 20 77 65 | 20 74 68 65 6e 20 70 72 | way, we| then pr|
|00004350| 6f 63 65 65 64 20 77 69 | 74 68 20 74 68 65 20 72 |oceed wi|th the r|
|00004360| 65 74 75 72 6e 65 64 20 | 72 65 73 75 6c 74 2e 0d |eturned |result..|
|00004370| 09 09 2f 2f 20 4e 6f 74 | 65 20 74 68 61 74 20 74 |..// Not|e that t|
|00004380| 68 69 73 20 6d 65 61 6e | 73 20 74 68 61 74 20 77 |his mean|s that w|
|00004390| 65 20 68 61 76 65 20 74 | 6f 20 62 65 20 70 72 65 |e have t|o be pre|
|000043a0| 70 61 72 65 64 20 74 6f | 20 64 65 61 6c 0d 09 09 |pared to| deal...|
|000043b0| 2f 2f 20 77 69 74 68 20 | 61 20 66 72 61 6d 65 20 |// with |a frame |
|000043c0| 73 68 61 70 65 20 6f 74 | 68 65 72 20 74 68 61 6e |shape ot|her than|
|000043d0| 20 77 65 20 64 65 73 69 | 72 65 2e 0d 0d 09 74 68 | we desi|re....th|
|000043e0| 69 73 2d 3e 4d 79 41 64 | 6a 75 73 74 46 61 63 65 |is->MyAd|justFace|
|000043f0| 74 73 28 66 72 61 6d 65 | 29 3b 0d 09 09 2f 2f 20 |ts(frame|);...// |
|00004400| 47 69 76 65 6e 20 61 20 | 6e 65 77 20 6e 65 67 6f |Given a |new nego|
|00004410| 74 69 61 74 65 64 20 66 | 72 61 6d 65 20 73 68 61 |tiated f|rame sha|
|00004420| 70 65 2c 20 61 64 6a 75 | 73 74 20 6f 75 72 20 66 |pe, adju|st our f|
|00004430| 61 63 65 74 73 20 62 61 | 73 65 64 0d 09 09 2f 2f |acets ba|sed...//|
|00004440| 20 6f 6e 20 69 74 2e 20 | 20 54 68 61 74 27 73 20 | on it. | That's |
|00004450| 61 6c 6c 20 74 68 65 72 | 65 20 69 73 20 74 6f 20 |all ther|e is to |
|00004460| 69 74 2e 0d 0d 09 69 66 | 20 28 66 72 61 6d 65 2d |it....if| (frame-|
|00004470| 3e 49 73 52 6f 6f 74 28 | 29 29 20 0d 09 7b 0d 09 |>IsRoot(|)) ..{..|
|00004480| 09 58 4d 50 42 6f 6f 6c | 65 61 6e 20 73 75 63 63 |.XMPBool|ean succ|
|00004490| 65 65 64 65 64 20 3d 20 | 6b 58 4d 50 46 61 6c 73 |eeded = |kXMPFals|
|000044a0| 65 3b 0d 09 09 73 75 63 | 63 65 65 64 65 64 20 3d |e;...suc|ceeded =|
|000044b0| 20 66 53 65 73 73 69 6f | 6e 2d 3e 47 65 74 41 72 | fSessio|n->GetAr|
|000044c0| 62 69 74 72 61 74 6f 72 | 28 29 2d 3e 52 65 71 75 |bitrator|()->Requ|
|000044d0| 65 73 74 46 6f 63 75 73 | 53 65 74 28 66 46 6f 63 |estFocus|Set(fFoc|
|000044e0| 75 73 53 65 74 2c 66 72 | 61 6d 65 29 3b 0d 09 09 |usSet,fr|ame);...|
|000044f0| 69 66 20 28 73 75 63 63 | 65 65 64 65 64 29 0d 09 |if (succ|eeded)..|
|00004500| 09 7b 0d 09 09 09 74 68 | 69 73 2d 3e 46 6f 63 75 |.{....th|is->Focu|
|00004510| 73 41 63 71 75 69 72 65 | 64 28 66 53 65 6c 65 63 |sAcquire|d(fSelec|
|00004520| 74 69 6f 6e 46 6f 63 75 | 73 2c 20 66 72 61 6d 65 |tionFocu|s, frame|
|00004530| 29 3b 0d 09 09 09 74 68 | 69 73 2d 3e 46 6f 63 75 |);....th|is->Focu|
|00004540| 73 41 63 71 75 69 72 65 | 64 28 66 4d 65 6e 75 46 |sAcquire|d(fMenuF|
|00004550| 6f 63 75 73 2c 20 66 72 | 61 6d 65 29 3b 0d 09 09 |ocus, fr|ame);...|
|00004560| 09 74 68 69 73 2d 3e 46 | 6f 63 75 73 41 63 71 75 |.this->F|ocusAcqu|
|00004570| 69 72 65 64 28 66 4b 65 | 79 46 6f 63 75 73 2c 20 |ired(fKe|yFocus, |
|00004580| 66 72 61 6d 65 29 3b 0d | 09 09 7d 0d 09 7d 0d 7d |frame);.|..}..}.}|
|00004590| 0d 0d 76 6f 69 64 20 48 | 65 6c 6c 6f 50 61 72 74 |..void H|elloPart|
|000045a0| 3a 3a 46 61 63 65 74 52 | 65 6d 6f 76 65 64 28 58 |::FacetR|emoved(X|
|000045b0| 4d 50 46 61 63 65 74 2a | 20 66 61 63 65 74 29 0d |MPFacet*| facet).|
|000045c0| 7b 0d 09 57 65 42 65 48 | 65 72 65 28 22 48 65 6c |{..WeBeH|ere("Hel|
|000045d0| 6c 6f 50 61 72 74 3a 3a | 46 61 63 65 74 52 65 6d |loPart::|FacetRem|
|000045e0| 6f 76 65 64 22 29 3b 0d | 0d 09 66 46 61 63 65 74 |oved");.|..fFacet|
|000045f0| 73 2e 52 65 6d 6f 76 65 | 28 66 61 63 65 74 29 3b |s.Remove|(facet);|
|00004600| 0d 09 09 2f 2f 20 54 68 | 69 73 20 6a 75 73 74 20 |...// Th|is just |
|00004610| 72 65 6d 6f 76 65 73 20 | 74 68 65 20 72 65 66 65 |removes |the refe|
|00004620| 72 65 6e 63 65 20 66 72 | 6f 6d 20 6f 75 72 20 66 |rence fr|om our f|
|00004630| 61 63 65 74 20 6c 69 73 | 74 2e 0d 0d 09 58 4d 50 |acet lis|t....XMP|
|00004640| 46 72 61 6d 65 2a 20 66 | 72 61 6d 65 20 3d 20 66 |Frame* f|rame = f|
|00004650| 61 63 65 74 2d 3e 47 65 | 74 46 72 61 6d 65 28 29 |acet->Ge|tFrame()|
|00004660| 3b 0d 09 66 72 61 6d 65 | 2d 3e 52 65 71 75 65 73 |;..frame|->Reques|
|00004670| 74 46 72 61 6d 65 53 68 | 61 70 65 28 74 68 69 73 |tFrameSh|ape(this|
|00004680| 2d 3e 4d 79 47 65 74 46 | 72 61 6d 65 53 68 61 70 |->MyGetF|rameShap|
|00004690| 65 28 66 72 61 6d 65 29 | 29 3b 0d 09 74 68 69 73 |e(frame)|);..this|
|000046a0| 2d 3e 4d 79 41 64 6a 75 | 73 74 46 61 63 65 74 73 |->MyAdju|stFacets|
|000046b0| 28 66 72 61 6d 65 29 3b | 0d 09 09 2f 2f 20 a5 a5 |(frame);|...// ..|
|000046c0| ca 54 68 69 73 20 69 73 | 20 68 65 72 65 20 69 6e |.This is| here in|
|000046d0| 20 63 61 73 65 20 6c 6f | 73 69 6e 67 20 61 20 66 | case lo|sing a f|
|000046e0| 61 63 65 74 20 6d 65 61 | 6e 73 20 74 68 61 74 20 |acet mea|ns that |
|000046f0| 77 65 20 6e 65 65 64 20 | 72 65 63 61 6c 63 75 6c |we need |recalcul|
|00004700| 61 74 65 0d 09 09 2f 2f | 20 74 68 65 20 66 72 61 |ate...//| the fra|
|00004710| 6d 65 2e 20 20 54 68 69 | 73 20 77 6f 75 6c 64 20 |me. Thi|s would |
|00004720| 6f 63 63 75 72 20 69 66 | 20 74 68 65 20 70 61 72 |occur if| the par|
|00004730| 74 20 61 64 64 65 64 20 | 73 6f 6d 65 20 6f 66 20 |t added |some of |
|00004740| 69 74 73 20 6f 77 6e 20 | 66 61 63 65 74 73 2c 0d |its own |facets,.|
|00004750| 09 09 2f 2f 20 62 65 79 | 6f 6e 64 20 74 68 65 20 |..// bey|ond the |
|00004760| 73 69 6e 67 6c 65 20 66 | 61 63 65 74 20 74 68 61 |single f|acet tha|
|00004770| 74 20 69 73 20 61 75 74 | 6f 6d 61 74 69 63 61 6c |t is aut|omatical|
|00004780| 6c 79 20 67 69 76 65 6e | 20 74 6f 20 61 20 66 72 |ly given| to a fr|
|00004790| 61 6d 65 2e 20 20 49 66 | 0d 09 09 2f 2f 20 79 6f |ame. If|...// yo|
|000047a0| 75 20 64 6f 6e 27 74 20 | 68 61 76 65 20 79 6f 75 |u don't |have you|
|000047b0| 72 20 6f 77 6e 20 61 64 | 64 69 74 69 6f 6e 61 6c |r own ad|ditional|
|000047c0| 20 66 61 63 65 74 73 2c | 20 74 68 65 6e 20 74 68 | facets,| then th|
|000047d0| 69 73 20 63 6f 64 65 20 | 72 65 6e 65 67 6f 74 69 |is code |renegoti|
|000047e0| 61 74 65 73 0d 09 09 2f | 2f 20 74 68 65 20 66 72 |ates.../|/ the fr|
|000047f0| 61 6d 65 20 73 68 61 70 | 65 20 66 6f 72 20 6e 6f |ame shap|e for no|
|00004800| 20 72 65 61 73 6f 6e 2c | 20 73 69 6e 63 65 20 74 | reason,| since t|
|00004810| 68 65 20 66 72 61 6d 65 | 20 77 69 6c 6c 20 62 65 |he frame| will be|
|00004820| 20 67 6f 69 6e 67 20 61 | 77 61 79 0d 09 09 2f 2f | going a|way...//|
|00004830| 20 69 6d 6d 65 64 69 61 | 74 65 6c 79 20 61 66 74 | immedia|tely aft|
|00004840| 65 72 77 61 72 64 73 20 | 28 61 66 74 65 72 20 74 |erwards |(after t|
|00004850| 68 65 20 6c 61 73 74 2f | 6f 6e 6c 79 20 66 61 63 |he last/|only fac|
|00004860| 65 74 20 69 73 20 72 65 | 6d 6f 76 65 64 29 2e 0d |et is re|moved)..|
|00004870| 7d 0d 0d 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}....//-|--------|
|00004880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000048a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000048b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 48 |--------|---.// H|
|000048c0| 65 6c 6c 6f 50 61 72 74 | 3a 3a 4d 79 49 6e 76 61 |elloPart|::MyInva|
|000048d0| 6c 41 6c 6c 46 61 63 65 | 74 73 0d 2f 2f 2d 2d 2d |lAllFace|ts.//---|
|000048e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000048f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004920| 2d 0d 0d 76 6f 69 64 20 | 48 65 6c 6c 6f 50 61 72 |-..void |HelloPar|
|00004930| 74 3a 3a 4d 79 49 6e 76 | 61 6c 41 6c 6c 46 61 63 |t::MyInv|alAllFac|
|00004940| 65 74 73 28 29 0d 7b 0d | 09 2f 2f 20 54 68 69 73 |ets().{.|.// This|
|00004950| 20 69 73 20 6a 75 73 74 | 20 61 20 48 65 6c 6c 6f | is just| a Hello|
|00004960| 50 61 72 74 20 75 74 69 | 6c 69 74 79 20 6d 65 74 |Part uti|lity met|
|00004970| 68 6f 64 2e 0d 0d 09 66 | 6f 72 20 28 46 61 63 65 |hod....f|or (Face|
|00004980| 74 4c 69 6e 6b 20 2a 66 | 6c 20 3d 20 66 46 61 63 |tLink *f|l = fFac|
|00004990| 65 74 73 2e 46 69 72 73 | 74 28 29 3b 20 66 6c 2d |ets.Firs|t(); fl-|
|000049a0| 3e 46 61 63 65 74 28 29 | 3b 20 66 6c 3d 66 6c 2d |>Facet()|; fl=fl-|
|000049b0| 3e 4e 65 78 74 28 29 29 | 0d 09 09 66 6c 2d 3e 46 |>Next())|...fl->F|
|000049c0| 61 63 65 74 28 29 2d 3e | 49 6e 76 61 6c 69 64 61 |acet()->|Invalida|
|000049d0| 74 65 28 6b 58 4d 50 4e | 55 4c 4c 29 3b 0d 7d 0d |te(kXMPN|ULL);.}.|
|000049e0| 0d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...//---|--------|
|000049f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00004a30| 2f 20 50 61 72 74 20 41 | 63 74 69 76 61 74 69 6f |/ Part A|ctivatio|
|00004a40| 6e 20 70 72 6f 74 6f 63 | 6f 6c 0d 2f 2f 2d 2d 2d |n protoc|ol.//---|
|00004a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a90| 2d 2d 2d 2d 2d 2d 0d 0d | 58 4d 50 42 6f 6f 6c 65 |------..|XMPBoole|
|00004aa0| 61 6e 20 48 65 6c 6c 6f | 50 61 72 74 3a 3a 42 65 |an Hello|Part::Be|
|00004ab0| 67 69 6e 52 65 6c 69 6e | 71 75 69 73 68 46 6f 63 |ginRelin|quishFoc|
|00004ac0| 75 73 28 58 4d 50 54 79 | 70 65 54 6f 6b 65 6e 20 |us(XMPTy|peToken |
|00004ad0| 66 6f 63 75 73 2c 0d 09 | 09 09 09 09 09 09 09 09 |focus,..|........|
|00004ae0| 09 20 20 20 58 4d 50 46 | 72 61 6d 65 2a 20 6f 77 |. XMPF|rame* ow|
|00004af0| 6e 65 72 46 72 61 6d 65 | 2c 0d 09 09 09 09 09 09 |nerFrame|,.......|
|00004b00| 09 09 09 09 20 20 20 58 | 4d 50 46 72 61 6d 65 2a |.... X|MPFrame*|
|00004b10| 20 70 72 6f 70 6f 73 65 | 64 46 72 61 6d 65 29 0d | propose|dFrame).|
|00004b20| 7b 0d 09 57 65 42 65 48 | 65 72 65 28 22 48 65 6c |{..WeBeH|ere("Hel|
|00004b30| 6c 6f 50 61 72 74 3a 3a | 42 65 67 69 6e 52 65 6c |loPart::|BeginRel|
|00004b40| 69 6e 71 75 69 73 68 46 | 6f 63 75 73 22 29 3b 0d |inquishF|ocus");.|
|00004b50| 58 4d 50 55 6e 75 73 65 | 64 28 6f 77 6e 65 72 46 |XMPUnuse|d(ownerF|
|00004b60| 72 61 6d 65 29 3b 0d 09 | 69 66 20 28 28 66 6f 63 |rame);..|if ((foc|
|00004b70| 75 73 20 3d 3d 20 66 4d | 6f 64 61 6c 46 6f 63 75 |us == fM|odalFocu|
|00004b80| 73 29 20 26 26 20 28 70 | 72 6f 70 6f 73 65 64 46 |s) && (p|roposedF|
|00004b90| 72 61 6d 65 2d 3e 47 65 | 74 50 61 72 74 28 29 20 |rame->Ge|tPart() |
|00004ba0| 21 3d 20 74 68 69 73 29 | 29 20 7b 0d 09 09 72 65 |!= this)|) {...re|
|00004bb0| 74 75 72 6e 20 6b 58 4d | 50 46 61 6c 73 65 3b 0d |turn kXM|PFalse;.|
|00004bc0| 09 09 09 2f 2f 20 a5 a5 | 20 36 2f 32 33 2f 39 34 |...// ..| 6/23/94|
|00004bd0| 0d 09 09 09 2f 2f 20 57 | 68 61 74 20 49 53 20 4d |....// W|hat IS M|
|00004be0| 6f 64 61 6c 46 6f 63 75 | 73 2c 20 61 6e 79 77 61 |odalFocu|s, anywa|
|00004bf0| 79 3f 20 20 54 68 65 20 | 77 68 6f 6c 65 20 70 75 |y? The |whole pu|
|00004c00| 72 70 6f 73 65 20 6f 66 | 20 74 68 69 73 0d 09 09 |rpose of| this...|
|00004c10| 09 2f 2f 20 4d 6f 64 61 | 6c 46 6f 63 75 73 20 74 |.// Moda|lFocus t|
|00004c20| 68 69 6e 67 20 69 73 20 | 74 6f 20 72 65 73 74 72 |hing is |to restr|
|00004c30| 69 63 74 20 66 72 61 6d | 65 20 63 68 61 6e 67 65 |ict fram|e change|
|00004c40| 73 2e 20 20 54 68 69 73 | 20 69 73 0d 09 09 09 2f |s. This| is..../|
|00004c50| 2f 20 74 68 65 20 70 61 | 72 74 27 73 20 63 68 61 |/ the pa|rt's cha|
|00004c60| 6e 63 65 20 74 6f 20 64 | 6f 20 74 68 69 73 2e 20 |nce to d|o this. |
|00004c70| 20 42 75 74 20 68 6f 77 | 20 6d 75 63 68 20 74 6f | But how| much to|
|00004c80| 20 72 65 73 74 72 69 63 | 74 c9 0d 09 09 09 2f 2f | restric|t.....//|
|00004c90| 0d 09 09 09 2f 2f 20 54 | 68 69 73 20 69 73 20 61 |....// T|his is a|
|00004ca0| 6e 20 69 6e 74 65 72 65 | 73 74 69 6e 67 20 63 61 |n intere|sting ca|
|00004cb0| 73 65 2e 20 20 4d 6f 64 | 61 6c 46 6f 63 75 73 20 |se. Mod|alFocus |
|00004cc0| 69 73 20 6b 69 6e 64 20 | 6f 66 20 61 20 77 65 69 |is kind |of a wei|
|00004cd0| 72 64 0d 09 09 09 2f 2f | 20 63 6f 6e 63 65 70 74 |rd....//| concept|
|00004ce0| 20 69 6e 20 4f 70 65 6e | 44 6f 63 2c 20 61 73 20 | in Open|Doc, as |
|00004cf0| 69 74 20 67 6f 65 73 20 | 61 67 61 69 6e 73 74 20 |it goes |against |
|00004d00| 74 68 65 20 70 72 69 6e | 63 69 70 61 6c 20 6f 66 |the prin|cipal of|
|00004d10| 0d 09 09 09 2f 2f 20 62 | 65 69 6e 67 20 61 62 6c |....// b|eing abl|
|00004d20| 65 20 74 6f 20 63 6c 69 | 63 6b 20 61 6e 79 77 68 |e to cli|ck anywh|
|00004d30| 65 72 65 20 61 74 20 61 | 6e 79 20 74 69 6d 65 2e |ere at a|ny time.|
|00004d40| 20 20 54 68 69 73 20 69 | 6d 70 6c 65 6d 65 6e 74 | This i|mplement|
|00004d50| 61 74 69 6f 6e 0d 09 09 | 09 2f 2f 20 6b 65 65 70 |ation...|.// keep|
|00004d60| 73 20 74 68 65 20 66 6f | 63 75 73 20 6f 6e 20 74 |s the fo|cus on t|
|00004d70| 68 65 20 70 61 72 74 2e | 20 20 4e 6f 74 65 20 74 |he part.| Note t|
|00004d80| 68 61 74 20 74 68 65 20 | 69 6d 70 6c 65 6d 65 6e |hat the |implemen|
|00004d90| 74 61 74 69 6f 6e 0d 09 | 09 09 2f 2f 20 6f 66 20 |tation..|..// of |
|00004da0| 4d 6f 64 61 6c 46 6f 63 | 75 73 20 6d 69 67 68 74 |ModalFoc|us might|
|00004db0| 20 62 65 20 6d 6f 72 65 | 20 72 65 73 74 72 69 63 | be more| restric|
|00004dc0| 74 69 76 65 20 74 68 61 | 6e 20 74 68 69 73 2e 20 |tive tha|n this. |
|00004dd0| 20 59 6f 75 20 6d 61 79 | 0d 09 09 09 2f 2f 20 77 | You may|....// w|
|00004de0| 69 73 68 20 74 6f 20 72 | 65 73 74 72 69 63 74 20 |ish to r|estrict |
|00004df0| 69 74 20 74 6f 20 61 20 | 73 69 6e 67 6c 65 20 66 |it to a |single f|
|00004e00| 72 61 6d 65 2c 20 69 6e | 73 74 65 61 64 20 6f 66 |rame, in|stead of|
|00004e10| 20 61 6c 6c 6f 77 69 6e | 67 0d 09 09 09 2f 2f 20 | allowin|g....// |
|00004e20| 74 68 65 20 66 6f 63 75 | 73 20 74 6f 20 6d 6f 76 |the focu|s to mov|
|00004e30| 65 20 66 72 6f 6d 20 66 | 72 61 6d 65 20 74 6f 20 |e from f|rame to |
|00004e40| 66 72 61 6d 65 20 77 69 | 74 68 69 6e 20 61 20 73 |frame wi|thin a s|
|00004e50| 69 6e 67 6c 65 20 70 61 | 72 74 2e 0d 09 09 09 2f |ingle pa|rt...../|
|00004e60| 2f 20 49 66 20 79 6f 75 | 20 77 69 73 68 20 74 6f |/ If you| wish to|
|00004e70| 20 72 65 73 74 72 69 63 | 74 20 69 74 20 74 6f 20 | restric|t it to |
|00004e80| 61 20 73 69 6e 67 6c 65 | 20 66 72 61 6d 65 2c 20 |a single| frame, |
|00004e90| 74 68 65 6e 20 74 68 65 | 20 69 66 0d 09 09 09 2f |then the| if..../|
|00004ea0| 2f 20 73 68 6f 75 6c 64 | 20 6f 6e 6c 79 20 63 68 |/ should| only ch|
|00004eb0| 65 63 6b 20 69 66 20 69 | 74 20 69 73 20 61 20 6d |eck if i|t is a m|
|00004ec0| 6f 64 61 6c 20 66 6f 63 | 75 73 2e 0d 09 7d 0d 09 |odal foc|us...}..|
|00004ed0| 65 6c 73 65 20 7b 0d 09 | 09 72 65 74 75 72 6e 20 |else {..|.return |
|00004ee0| 6b 58 4d 50 54 72 75 65 | 3b 0d 09 09 09 2f 2f 20 |kXMPTrue|;....// |
|00004ef0| 54 68 69 73 20 69 73 20 | 74 68 65 20 73 75 70 65 |This is |the supe|
|00004f00| 72 2d 73 63 72 69 70 74 | 20 77 61 79 20 6f 66 20 |r-script| way of |
|00004f10| 68 61 6e 64 6c 69 6e 67 | 20 4d 6f 64 61 6c 46 6f |handling| ModalFo|
|00004f20| 63 75 73 2e 20 20 59 6f | 75 0d 09 09 09 2f 2f 20 |cus. Yo|u....// |
|00004f30| 63 61 6e 20 4e 4f 54 20 | 73 77 69 74 63 68 20 6f |can NOT |switch o|
|00004f40| 66 66 20 74 68 65 20 66 | 72 61 6d 65 20 74 6f 20 |ff the f|rame to |
|00004f50| 61 6e 6f 74 68 65 72 2c | 20 6e 6f 20 6d 61 74 74 |another,| no matt|
|00004f60| 65 72 20 77 68 61 74 2e | 0d 09 7d 0d 7d 0d 0d 76 |er what.|..}.}..v|
|00004f70| 6f 69 64 20 48 65 6c 6c | 6f 50 61 72 74 3a 3a 43 |oid Hell|oPart::C|
|00004f80| 6f 6d 6d 69 74 52 65 6c | 69 6e 71 75 69 73 68 46 |ommitRel|inquishF|
|00004f90| 6f 63 75 73 28 58 4d 50 | 54 79 70 65 54 6f 6b 65 |ocus(XMP|TypeToke|
|00004fa0| 6e 20 66 6f 63 75 73 2c | 0d 09 09 09 09 09 09 09 |n focus,|........|
|00004fb0| 09 09 20 20 58 4d 50 46 | 72 61 6d 65 2a 20 6f 77 |.. XMPF|rame* ow|
|00004fc0| 6e 65 72 46 72 61 6d 65 | 2c 0d 09 09 09 09 09 09 |nerFrame|,.......|
|00004fd0| 09 09 09 20 20 58 4d 50 | 46 72 61 6d 65 2a 20 70 |... XMP|Frame* p|
|00004fe0| 72 6f 70 6f 73 65 64 46 | 72 61 6d 65 29 0d 7b 0d |roposedF|rame).{.|
|00004ff0| 09 57 65 42 65 48 65 72 | 65 28 22 48 65 6c 6c 6f |.WeBeHer|e("Hello|
|00005000| 50 61 72 74 3a 3a 43 6f | 6d 6d 69 74 52 65 6c 69 |Part::Co|mmitReli|
|00005010| 6e 71 75 69 73 68 46 6f | 63 75 73 22 29 3b 0d 58 |nquishFo|cus");.X|
|00005020| 4d 50 55 6e 75 73 65 64 | 28 70 72 6f 70 6f 73 65 |MPUnused|(propose|
|00005030| 64 46 72 61 6d 65 29 3b | 0d 09 74 68 69 73 2d 3e |dFrame);|..this->|
|00005040| 46 6f 63 75 73 4c 6f 73 | 74 28 66 6f 63 75 73 2c |FocusLos|t(focus,|
|00005050| 20 6f 77 6e 65 72 46 72 | 61 6d 65 29 3b 0d 09 09 | ownerFr|ame);...|
|00005060| 2f 2f 20 a5 a5 20 36 2f | 32 33 2f 39 34 0d 09 09 |// .. 6/|23/94...|
|00005070| 2f 2f 20 4e 6f 20 63 68 | 6f 69 63 65 73 20 74 6f |// No ch|oices to|
|00005080| 20 62 65 20 6d 61 64 65 | 20 68 65 72 65 2e 20 20 | be made| here. |
|00005090| 49 74 27 73 20 74 6f 6f | 20 6c 61 74 65 20 74 6f |It's too| late to|
|000050a0| 20 73 61 79 20 6e 6f 2e | 20 20 57 65 20 61 72 65 | say no.| We are|
|000050b0| 0d 09 09 2f 2f 20 6c 6f | 73 69 6e 67 20 74 68 65 |...// lo|sing the|
|000050c0| 20 66 6f 63 75 73 20 69 | 66 20 77 65 20 61 72 65 | focus i|f we are|
|000050d0| 20 68 65 72 65 2e 20 20 | 47 65 74 74 69 6e 67 20 | here. |Getting |
|000050e0| 63 61 6c 6c 65 64 20 68 | 65 72 65 20 6d 65 61 6e |called h|ere mean|
|000050f0| 73 0d 09 09 2f 2f 20 74 | 68 61 74 20 42 65 67 69 |s...// t|hat Begi|
|00005100| 6e 52 65 6c 69 6e 71 75 | 69 73 68 46 6f 63 75 73 |nRelinqu|ishFocus|
|00005110| 20 68 61 73 20 61 6c 72 | 65 61 64 79 20 61 67 72 | has alr|eady agr|
|00005120| 65 65 64 20 74 68 61 74 | 20 6c 6f 73 69 6e 67 20 |eed that| losing |
|00005130| 66 6f 63 75 73 0d 09 09 | 2f 2f 20 69 73 20 6f 6b |focus...|// is ok|
|00005140| 61 79 2e 20 20 49 66 20 | 79 6f 75 20 64 6f 6e 27 |ay. If |you don'|
|00005150| 74 20 77 61 6e 74 20 74 | 68 69 73 20 74 6f 20 62 |t want t|his to b|
|00005160| 65 20 68 61 70 70 65 6e | 69 6e 67 2c 20 74 68 65 |e happen|ing, the|
|00005170| 6e 20 79 6f 75 20 6e 65 | 65 64 0d 09 09 2f 2f 20 |n you ne|ed...// |
|00005180| 74 6f 20 64 6f 20 73 6f | 6d 65 74 68 69 6e 67 20 |to do so|mething |
|00005190| 69 6e 20 42 65 67 69 6e | 52 65 6c 69 6e 71 75 69 |in Begin|Relinqui|
|000051a0| 73 68 46 6f 63 75 73 2e | 0d 09 09 2f 2f 0d 09 09 |shFocus.|...//...|
|000051b0| 2f 2f 20 54 68 65 20 77 | 61 79 20 74 68 61 74 20 |// The w|ay that |
|000051c0| 73 6f 6d 65 20 6f 74 68 | 65 72 20 73 61 6d 70 6c |some oth|er sampl|
|000051d0| 65 73 20 61 72 65 20 63 | 75 72 72 65 6e 74 6c 79 |es are c|urrently|
|000051e0| 20 77 72 69 74 74 65 6e | 20 49 20 62 65 6c 69 65 | written| I belie|
|000051f0| 76 65 0d 09 09 2f 2f 20 | 74 6f 20 62 65 20 69 6e |ve...// |to be in|
|00005200| 20 65 72 72 6f 72 2e 20 | 20 54 68 65 20 72 65 63 | error. | The rec|
|00005210| 69 70 65 73 20 73 61 79 | 20 74 68 61 74 20 77 68 |ipes say| that wh|
|00005220| 65 6e 20 74 68 69 73 20 | 69 73 20 63 61 6c 6c 65 |en this |is calle|
|00005230| 64 2c 20 69 74 0d 09 09 | 2f 2f 20 68 61 73 20 61 |d, it...|// has a|
|00005240| 6c 72 65 61 64 79 20 62 | 65 65 6e 20 64 65 63 69 |lready b|een deci|
|00005250| 64 65 64 20 74 68 61 74 | 2c 20 66 6f 63 75 73 2d |ded that|, focus-|
|00005260| 77 69 73 65 2c 20 79 6f | 75 20 6c 6f 73 65 2e 20 |wise, yo|u lose. |
|00005270| 20 54 68 65 72 65 66 6f | 72 65 0d 09 09 2f 2f 20 | Therefo|re...// |
|00005280| 74 68 65 72 65 20 73 68 | 6f 75 6c 64 20 62 65 20 |there sh|ould be |
|00005290| 6e 6f 20 63 6f 6e 64 69 | 74 69 6f 6e 73 20 6f 6e |no condi|tions on|
|000052a0| 20 63 61 6c 6c 69 6e 67 | 20 46 6f 63 75 73 4c 6f | calling| FocusLo|
|000052b0| 73 74 2e 0d 7d 0d 09 09 | 09 09 09 09 09 0d 76 6f |st..}...|......vo|
|000052c0| 69 64 20 48 65 6c 6c 6f | 50 61 72 74 3a 3a 41 62 |id Hello|Part::Ab|
|000052d0| 6f 72 74 52 65 6c 69 6e | 71 75 69 73 68 46 6f 63 |ortRelin|quishFoc|
|000052e0| 75 73 28 58 4d 50 54 79 | 70 65 54 6f 6b 65 6e 20 |us(XMPTy|peToken |
|000052f0| 66 6f 63 75 73 2c 0d 09 | 09 09 09 09 09 09 09 09 |focus,..|........|
|00005300| 20 58 4d 50 46 72 61 6d | 65 2a 20 6f 77 6e 65 72 | XMPFram|e* owner|
|00005310| 46 72 61 6d 65 2c 0d 09 | 09 09 09 09 09 09 09 09 |Frame,..|........|
|00005320| 20 58 4d 50 46 72 61 6d | 65 2a 20 70 72 6f 70 6f | XMPFram|e* propo|
|00005330| 73 65 64 46 72 61 6d 65 | 29 0d 7b 0d 09 57 65 42 |sedFrame|).{..WeB|
|00005340| 65 48 65 72 65 28 22 48 | 65 6c 6c 6f 50 61 72 74 |eHere("H|elloPart|
|00005350| 3a 3a 41 62 6f 72 74 52 | 65 6c 69 6e 71 75 69 73 |::AbortR|elinquis|
|00005360| 68 46 6f 63 75 73 22 29 | 3b 0d 58 4d 50 55 6e 75 |hFocus")|;.XMPUnu|
|00005370| 73 65 64 28 66 6f 63 75 | 73 29 3b 0d 58 4d 50 55 |sed(focu|s);.XMPU|
|00005380| 6e 75 73 65 64 28 6f 77 | 6e 65 72 46 72 61 6d 65 |nused(ow|nerFrame|
|00005390| 29 3b 0d 58 4d 50 55 6e | 75 73 65 64 28 70 72 6f |);.XMPUn|used(pro|
|000053a0| 70 6f 73 65 64 46 72 61 | 6d 65 29 3b 0d 09 2f 2f |posedFra|me);..//|
|000053b0| 20 a5 a5 20 36 2f 32 33 | 2f 39 34 0d 09 2f 2f 20 | .. 6/23|/94..// |
|000053c0| 42 65 69 6e 67 20 68 65 | 72 65 20 6d 65 61 6e 73 |Being he|re means|
|000053d0| 20 74 68 61 74 20 42 65 | 67 69 6e 52 65 6c 69 6e | that Be|ginRelin|
|000053e0| 71 75 69 73 68 46 6f 63 | 75 73 20 73 61 69 64 20 |quishFoc|us said |
|000053f0| 6e 6f 20 74 6f 20 6f 6e | 65 20 6f 66 20 74 68 65 |no to on|e of the|
|00005400| 20 66 6f 63 69 2e 0d 09 | 2f 2f 20 59 6f 75 20 61 | foci...|// You a|
|00005410| 72 65 20 62 65 69 6e 67 | 20 69 6e 66 6f 72 6d 65 |re being| informe|
|00005420| 64 20 6f 66 20 74 68 69 | 73 20 62 65 63 61 75 73 |d of thi|s becaus|
|00005430| 65 20 79 6f 75 20 6d 61 | 79 20 68 61 76 65 20 61 |e you ma|y have a|
|00005440| 6c 72 65 61 64 79 20 74 | 61 6b 65 6e 20 61 63 74 |lready t|aken act|
|00005450| 69 6f 6e 0d 09 2f 2f 20 | 62 61 73 65 64 20 6f 6e |ion..// |based on|
|00005460| 20 61 20 70 72 65 76 69 | 6f 75 73 20 66 6f 63 75 | a previ|ous focu|
|00005470| 73 2e 20 20 4e 6f 74 65 | 20 74 68 61 74 20 69 66 |s. Note| that if|
|00005480| 20 66 6f 63 69 20 61 72 | 65 20 6d 61 6e 61 67 65 | foci ar|e manage|
|00005490| 64 20 61 73 20 61 20 73 | 65 74 2c 20 69 66 0d 09 |d as a s|et, if..|
|000054a0| 2f 2f 20 42 65 67 69 6e | 52 65 6c 69 6e 71 75 69 |// Begin|Relinqui|
|000054b0| 73 68 46 6f 63 75 73 20 | 73 61 79 73 20 66 61 6c |shFocus |says fal|
|000054c0| 73 65 20 74 6f 20 61 6e | 79 20 6f 66 20 74 68 65 |se to an|y of the|
|000054d0| 20 66 6f 63 69 2c 20 74 | 68 65 6e 20 6e 6f 20 61 | foci, t|hen no a|
|000054e0| 63 74 69 6f 6e 20 69 73 | 0d 09 2f 2f 20 74 61 6b |ction is|..// tak|
|000054f0| 65 6e 2e 20 20 49 66 20 | 68 6f 77 65 76 65 72 20 |en. If |however |
|00005500| 74 68 65 20 66 6f 63 69 | 20 61 72 65 20 74 65 73 |the foci| are tes|
|00005510| 74 65 64 20 6f 6e 65 20 | 61 74 20 61 20 74 69 6d |ted one |at a tim|
|00005520| 65 2c 20 69 74 20 69 73 | 20 70 6f 73 73 69 62 6c |e, it is| possibl|
|00005530| 65 20 74 68 61 74 0d 09 | 2f 2f 20 74 68 65 20 70 |e that..|// the p|
|00005540| 61 72 74 20 68 61 73 20 | 61 6c 72 65 61 64 79 20 |art has |already |
|00005550| 74 61 6b 65 6e 20 61 63 | 74 69 6f 6e 20 62 61 73 |taken ac|tion bas|
|00005560| 65 64 20 6f 6e 20 74 68 | 65 20 66 69 72 73 74 20 |ed on th|e first |
|00005570| 66 6f 63 69 2c 20 61 6e | 64 20 74 68 65 72 65 66 |foci, an|d theref|
|00005580| 6f 72 65 0d 09 2f 2f 20 | 6e 65 65 64 73 20 74 6f |ore..// |needs to|
|00005590| 20 75 6e 64 6f 20 73 6f | 6d 65 74 68 69 6e 67 20 | undo so|mething |
|000055a0| 6f 6e 63 65 20 61 20 66 | 6f 63 69 20 73 61 79 73 |once a f|oci says|
|000055b0| 20 6e 6f 20 74 68 61 6e | 6b 73 2e 0d 7d 0d 09 09 | no than|ks..}...|
|000055c0| 09 09 09 09 09 20 20 0d | 76 6f 69 64 20 48 65 6c |..... .|void Hel|
|000055d0| 6c 6f 50 61 72 74 3a 3a | 46 6f 63 75 73 41 63 71 |loPart::|FocusAcq|
|000055e0| 75 69 72 65 64 28 58 4d | 50 54 79 70 65 54 6f 6b |uired(XM|PTypeTok|
|000055f0| 65 6e 20 66 6f 63 75 73 | 2c 20 58 4d 50 46 72 61 |en focus|, XMPFra|
|00005600| 6d 65 2a 20 6f 77 6e 65 | 72 46 72 61 6d 65 29 0d |me* owne|rFrame).|
|00005610| 7b 0d 09 57 65 42 65 48 | 65 72 65 28 22 48 65 6c |{..WeBeH|ere("Hel|
|00005620| 6c 6f 50 61 72 74 3a 3a | 46 6f 63 75 73 41 63 71 |loPart::|FocusAcq|
|00005630| 75 69 72 65 64 22 29 3b | 0d 09 69 66 20 28 66 6f |uired");|..if (fo|
|00005640| 63 75 73 20 3d 3d 20 66 | 4d 65 6e 75 46 6f 63 75 |cus == f|MenuFocu|
|00005650| 73 29 20 0d 09 09 69 66 | 20 28 6f 77 6e 65 72 46 |s) ...if| (ownerF|
|00005660| 72 61 6d 65 20 26 26 20 | 66 4d 65 6e 75 42 61 72 |rame && |fMenuBar|
|00005670| 29 0d 09 09 7b 09 0d 09 | 09 09 66 4d 65 6e 75 42 |)...{...|..fMenuB|
|00005680| 61 72 2d 3e 44 69 73 70 | 6c 61 79 28 29 3b 0d 09 |ar->Disp|lay();..|
|00005690| 09 7d 0d 7d 09 0d 0d 76 | 6f 69 64 20 48 65 6c 6c |.}.}...v|oid Hell|
|000056a0| 6f 50 61 72 74 3a 3a 46 | 6f 63 75 73 4c 6f 73 74 |oPart::F|ocusLost|
|000056b0| 28 58 4d 50 54 79 70 65 | 54 6f 6b 65 6e 20 66 6f |(XMPType|Token fo|
|000056c0| 63 75 73 2c 20 58 4d 50 | 46 72 61 6d 65 2a 20 6f |cus, XMP|Frame* o|
|000056d0| 77 6e 65 72 46 72 61 6d | 65 29 0d 7b 0d 09 57 65 |wnerFram|e).{..We|
|000056e0| 42 65 48 65 72 65 28 22 | 48 65 6c 6c 6f 50 61 72 |BeHere("|HelloPar|
|000056f0| 74 3a 3a 46 6f 63 75 73 | 4c 6f 73 74 22 29 3b 0d |t::Focus|Lost");.|
|00005700| 58 4d 50 55 6e 75 73 65 | 64 28 6f 77 6e 65 72 46 |XMPUnuse|d(ownerF|
|00005710| 72 61 6d 65 29 3b 0d 09 | 69 66 20 28 66 6f 63 75 |rame);..|if (focu|
|00005720| 73 20 3d 3d 20 66 4d 65 | 6e 75 46 6f 63 75 73 29 |s == fMe|nuFocus)|
|00005730| 20 0d 09 7b 0d 09 7d 0d | 7d 0d 0d 0d 0d 2f 2f 2d | ..{..}.|}....//-|
|00005740| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005780| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 53 74 6f 72 |--------|.// Stor|
|00005790| 61 67 65 20 70 72 6f 74 | 6f 63 6f 6c 0d 2f 2f 2d |age prot|ocol.//-|
|000057a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057e0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 0d 76 6f 69 64 20 48 |--------|..void H|
|000057f0| 65 6c 6c 6f 50 61 72 74 | 3a 3a 43 6c 6f 6e 65 49 |elloPart|::CloneI|
|00005800| 6e 74 6f 28 58 4d 50 44 | 72 61 66 74 4b 65 79 20 |nto(XMPD|raftKey |
|00005810| 6b 65 79 2c 20 58 4d 50 | 53 74 6f 72 61 67 65 55 |key, XMP|StorageU|
|00005820| 6e 69 74 2a 20 73 74 6f | 72 61 67 65 55 6e 69 74 |nit* sto|rageUnit|
|00005830| 2c 20 58 4d 50 53 74 6f | 72 61 67 65 55 6e 69 74 |, XMPSto|rageUnit|
|00005840| 2a 20 69 6e 69 74 69 61 | 74 69 6e 67 46 72 61 6d |* initia|tingFram|
|00005850| 65 53 55 29 0d 7b 0d 09 | 57 65 42 65 48 65 72 65 |eSU).{..|WeBeHere|
|00005860| 28 22 48 65 6c 6c 6f 50 | 61 72 74 3a 3a 43 6c 6f |("HelloP|art::Clo|
|00005870| 6e 65 49 6e 74 6f 22 29 | 3b 0d 0d 09 58 4d 50 53 |neInto")|;...XMPS|
|00005880| 74 6f 72 61 67 65 55 6e | 69 74 2a 09 73 75 20 3d |torageUn|it*.su =|
|00005890| 20 74 68 69 73 2d 3e 47 | 65 74 53 74 6f 72 61 67 | this->G|etStorag|
|000058a0| 65 55 6e 69 74 28 29 3b | 0d 09 58 4d 50 44 72 61 |eUnit();|..XMPDra|
|000058b0| 66 74 2a 09 09 64 72 61 | 66 74 20 3d 20 73 75 2d |ft*..dra|ft = su-|
|000058c0| 3e 47 65 74 44 72 61 66 | 74 28 29 3b 0d 0d 09 58 |>GetDraf|t();...X|
|000058d0| 4d 50 56 6f 6c 61 74 69 | 6c 65 28 64 72 61 66 74 |MPVolati|le(draft|
|000058e0| 29 3b 0d 0d 09 74 68 69 | 73 2d 3e 45 78 74 65 72 |);...thi|s->Exter|
|000058f0| 6e 61 6c 69 7a 65 28 29 | 3b 0d 09 0d 09 54 52 59 |nalize()|;....TRY|
|00005900| 0d 09 09 73 75 2d 3e 43 | 6c 6f 6e 65 49 6e 74 6f |...su->C|loneInto|
|00005910| 28 6b 65 79 2c 20 73 74 | 6f 72 61 67 65 55 6e 69 |(key, st|orageUni|
|00005920| 74 2c 20 69 6e 69 74 69 | 61 74 69 6e 67 46 72 61 |t, initi|atingFra|
|00005930| 6d 65 53 55 29 3b 0d 09 | 43 41 54 43 48 5f 41 4c |meSU);..|CATCH_AL|
|00005940| 4c 0d 09 09 64 72 61 66 | 74 2d 3e 41 62 6f 72 74 |L...draf|t->Abort|
|00005950| 43 6c 6f 6e 65 28 6b 65 | 79 29 3b 0d 09 45 4e 44 |Clone(ke|y);..END|
|00005960| 54 52 59 0d 7d 0d 0d 0d | 0d 2f 2f 2d 2d 2d 2d 2d |TRY.}...|.//-----|
|00005970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059b0| 2d 2d 2d 2d 0d 2f 2f 20 | 46 72 61 6d 65 20 70 72 |----.// |Frame pr|
|000059c0| 6f 74 6f 63 6f 6c 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |otocol./|/-------|
|000059d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a10| 2d 2d 0d 0d 76 6f 69 64 | 20 48 65 6c 6c 6f 50 61 |--..void| HelloPa|
|00005a20| 72 74 3a 3a 52 65 6d 6f | 76 65 44 69 73 70 6c 61 |rt::Remo|veDispla|
|00005a30| 79 46 72 61 6d 65 28 58 | 4d 50 46 72 61 6d 65 2a |yFrame(X|MPFrame*|
|00005a40| 20 66 72 61 6d 65 29 0d | 0d 2f 2f 20 52 65 6d 6f | frame).|.// Remo|
|00005a50| 76 65 73 20 74 68 65 20 | 66 72 61 6d 65 20 66 72 |ves the |frame fr|
|00005a60| 6f 6d 20 74 68 65 20 6c | 69 73 74 20 6f 66 20 64 |om the l|ist of d|
|00005a70| 69 73 70 6c 61 79 20 66 | 72 61 6d 65 73 2e 0d 2f |isplay f|rames../|
|00005a80| 2f 0d 2f 2f 20 43 61 6c | 6c 65 64 20 62 79 20 46 |/.// Cal|led by F|
|00005a90| 72 61 6d 65 3a 3a 52 65 | 6d 6f 76 65 28 29 2e 0d |rame::Re|move()..|
|00005aa0| 2f 2f 0d 2f 2f 20 54 68 | 69 73 20 6d 65 74 68 6f |//.// Th|is metho|
|00005ab0| 64 20 6d 61 6b 65 73 20 | 77 68 61 74 65 76 65 72 |d makes |whatever|
|00005ac0| 20 6f 74 68 65 72 20 61 | 64 6a 75 73 74 6d 65 6e | other a|djustmen|
|00005ad0| 74 73 20 61 72 65 20 6e | 65 63 65 73 73 61 72 79 |ts are n|ecessary|
|00005ae0| 0d 2f 2f 20 74 6f 20 64 | 65 61 6c 20 77 69 74 68 |.// to d|eal with|
|00005af0| 20 72 65 6d 6f 76 69 6e | 67 20 6f 6e 65 20 6f 66 | removin|g one of|
|00005b00| 20 74 68 65 20 70 72 65 | 73 65 6e 74 61 74 69 6f | the pre|sentatio|
|00005b10| 6e 73 2e 20 54 68 69 73 | 20 69 6e 63 6c 75 64 65 |ns. This| include|
|00005b20| 73 0d 2f 2f 20 72 65 6d | 6f 76 69 6e 67 20 61 6e |s.// rem|oving an|
|00005b30| 79 20 66 72 61 6d 65 73 | 20 65 6d 62 65 64 64 65 |y frames| embedde|
|00005b40| 64 20 77 69 74 68 69 6e | 20 74 68 69 73 20 64 69 |d within| this di|
|00005b50| 73 70 6c 61 79 20 66 72 | 61 6d 65 2e 0d 2f 2f 20 |splay fr|ame..// |
|00005b60| 42 65 66 6f 72 65 20 63 | 61 6c 6c 69 6e 67 20 74 |Before c|alling t|
|00005b70| 68 69 73 20 6d 65 74 68 | 6f 64 2c 20 79 6f 75 20 |his meth|od, you |
|00005b80| 6d 75 73 74 20 65 6e 73 | 75 72 65 20 74 68 61 74 |must ens|ure that|
|00005b90| 20 74 68 65 20 66 72 61 | 6d 65 0d 2f 2f 20 68 61 | the fra|me.// ha|
|00005ba0| 73 20 6e 6f 20 66 61 63 | 65 74 73 2e 0d 0d 7b 0d |s no fac|ets...{.|
|00005bb0| 09 57 65 42 65 48 65 72 | 65 28 22 48 65 6c 6c 6f |.WeBeHer|e("Hello|
|00005bc0| 50 61 72 74 3a 3a 52 65 | 6d 6f 76 65 44 69 73 70 |Part::Re|moveDisp|
|00005bd0| 6c 61 79 46 72 61 6d 65 | 22 29 3b 0d 0d 09 66 53 |layFrame|");...fS|
|00005be0| 65 73 73 69 6f 6e 2d 3e | 47 65 74 41 72 62 69 74 |ession->|GetArbit|
|00005bf0| 72 61 74 6f 72 28 29 2d | 3e 52 65 6c 69 6e 71 75 |rator()-|>Relinqu|
|00005c00| 69 73 68 46 6f 63 75 73 | 53 65 74 28 66 46 6f 63 |ishFocus|Set(fFoc|
|00005c10| 75 73 53 65 74 2c 20 66 | 72 61 6d 65 29 3b 0d 7d |usSet, f|rame);.}|
|00005c20| 0d 0d 0d 76 6f 69 64 20 | 48 65 6c 6c 6f 50 61 72 |...void |HelloPar|
|00005c30| 74 3a 3a 43 6c 6f 73 65 | 44 69 73 70 6c 61 79 46 |t::Close|DisplayF|
|00005c40| 72 61 6d 65 28 58 4d 50 | 46 72 61 6d 65 2a 20 66 |rame(XMP|Frame* f|
|00005c50| 72 61 6d 65 29 0d 0d 2f | 2f 20 49 6e 66 6f 72 6d |rame)../|/ Inform|
|00005c60| 73 20 61 20 70 61 72 74 | 20 74 68 61 74 20 6f 6e |s a part| that on|
|00005c70| 65 20 6f 66 20 69 74 73 | 20 64 69 73 70 6c 61 79 |e of its| display|
|00005c80| 20 66 72 61 6d 65 73 20 | 69 73 20 63 6c 6f 73 69 | frames |is closi|
|00005c90| 6e 67 2e 0d 2f 2f 0d 2f | 2f 20 43 61 6c 6c 65 64 |ng..//./|/ Called|
|00005ca0| 20 62 79 20 74 68 65 20 | 66 72 61 6d 65 20 6f 62 | by the |frame ob|
|00005cb0| 6a 65 63 74 2e 0d 2f 2f | 20 54 68 65 20 70 61 72 |ject..//| The par|
|00005cc0| 74 20 73 68 6f 75 6c 64 | 20 72 65 6d 6f 76 65 20 |t should| remove |
|00005cd0| d2 66 72 61 6d 65 d3 20 | 66 72 6f 6d 20 69 74 73 |.frame. |from its|
|00005ce0| 20 6c 69 73 74 20 6f 66 | 20 64 69 73 70 6c 61 79 | list of| display|
|00005cf0| 20 66 72 61 6d 65 73 2c | 0d 2f 2f 20 63 61 6c 6c | frames,|.// call|
|00005d00| 20 46 72 61 6d 65 3a 3a | 43 6c 6f 73 65 28 29 20 | Frame::|Close() |
|00005d10| 6f 6e 20 61 6e 79 20 66 | 72 61 6d 65 73 20 74 68 |on any f|rames th|
|00005d20| 61 74 20 61 72 65 20 65 | 6d 62 65 64 64 65 64 20 |at are e|mbedded |
|00005d30| 77 69 74 68 69 6e 20 74 | 68 61 74 0d 2f 2f 20 66 |within t|hat.// f|
|00005d40| 72 61 6d 65 2c 20 61 6e | 64 20 74 68 65 6e 20 72 |rame, an|d then r|
|00005d50| 65 6c 65 61 73 65 20 74 | 68 65 20 66 72 61 6d 65 |elease t|he frame|
|00005d60| 2e 0d 0d 7b 0d 09 57 65 | 42 65 48 65 72 65 28 22 |...{..We|BeHere("|
|00005d70| 48 65 6c 6c 6f 50 61 72 | 74 3a 3a 43 6c 6f 73 65 |HelloPar|t::Close|
|00005d80| 44 69 73 70 6c 61 79 46 | 72 61 6d 65 22 29 3b 0d |DisplayF|rame");.|
|00005d90| 0d 09 66 53 65 73 73 69 | 6f 6e 2d 3e 47 65 74 41 |..fSessi|on->GetA|
|00005da0| 72 62 69 74 72 61 74 6f | 72 28 29 2d 3e 52 65 6c |rbitrato|r()->Rel|
|00005db0| 69 6e 71 75 69 73 68 46 | 6f 63 75 73 53 65 74 28 |inquishF|ocusSet(|
|00005dc0| 66 46 6f 63 75 73 53 65 | 74 2c 20 66 72 61 6d 65 |fFocusSe|t, frame|
|00005dd0| 29 3b 0d 7d 0d 0d 0d 76 | 6f 69 64 20 48 65 6c 6c |);.}...v|oid Hell|
|00005de0| 6f 50 61 72 74 3a 3a 46 | 72 61 6d 65 53 68 61 70 |oPart::F|rameShap|
|00005df0| 65 43 68 61 6e 67 65 64 | 28 58 4d 50 46 72 61 6d |eChanged|(XMPFram|
|00005e00| 65 2a 20 66 72 61 6d 65 | 29 0d 0d 2f 2f 20 a5 a5 |e* frame|)..// ..|
|00005e10| ca 4e 6f 74 69 66 69 65 | 73 20 74 68 65 20 70 61 |.Notifie|s the pa|
|00005e20| 72 74 20 74 68 61 74 20 | 74 68 65 20 66 72 61 6d |rt that |the fram|
|00005e30| 65 20 73 68 61 70 65 20 | 6f 66 20 6f 6e 65 20 6f |e shape |of one o|
|00005e40| 66 20 69 74 73 0d 2f 2f | 20 64 69 73 70 6c 61 79 |f its.//| display|
|00005e50| 20 66 72 61 6d 65 73 20 | 68 61 73 20 62 65 65 6e | frames |has been|
|00005e60| 20 63 68 61 6e 67 65 64 | 20 62 79 20 69 74 73 20 | changed| by its |
|00005e70| 63 6f 6e 74 61 69 6e 69 | 6e 67 20 70 61 72 74 2e |containi|ng part.|
|00005e80| 0d 2f 2f 0d 2f 2f 20 43 | 61 6c 6c 65 64 20 62 79 |.//.// C|alled by|
|00005e90| 20 46 72 61 6d 65 3a 3a | 43 68 61 6e 67 65 46 72 | Frame::|ChangeFr|
|00005ea0| 61 6d 65 53 68 61 70 65 | 2e 0d 2f 2f 0d 2f 2f 20 |ameShape|..//.// |
|00005eb0| 54 68 65 20 70 61 72 74 | 20 73 68 6f 75 6c 64 20 |The part| should |
|00005ec0| 74 61 6b 65 20 77 68 61 | 74 65 76 65 72 20 61 63 |take wha|tever ac|
|00005ed0| 74 69 6f 6e 73 20 61 72 | 65 20 6e 65 63 65 73 73 |tions ar|e necess|
|00005ee0| 61 72 79 20 74 6f 20 72 | 65 73 70 6f 6e 64 0d 2f |ary to r|espond./|
|00005ef0| 2f 20 74 6f 20 74 68 65 | 20 6e 65 77 20 73 68 61 |/ to the| new sha|
|00005f00| 70 65 2e 20 49 74 20 6d | 61 79 20 6e 65 65 64 20 |pe. It m|ay need |
|00005f10| 74 6f 20 72 65 2d 6c 61 | 79 6f 75 74 20 69 74 73 |to re-la|yout its|
|00005f20| 20 63 6f 6e 74 65 6e 74 | 2c 20 63 68 61 6e 67 65 | content|, change|
|00005f30| 0d 2f 2f 20 69 74 73 20 | 75 73 65 64 20 73 68 61 |.// its |used sha|
|00005f40| 70 65 2c 20 72 65 73 69 | 7a 65 20 69 74 73 20 65 |pe, resi|ze its e|
|00005f50| 6d 62 65 64 64 65 64 20 | 66 72 61 6d 65 73 2c 20 |mbedded |frames, |
|00005f60| 6f 72 20 73 6f 6d 65 74 | 68 69 6e 67 20 65 6c 73 |or somet|hing els|
|00005f70| 65 2e 0d 2f 2f 20 49 74 | 20 61 6c 73 6f 20 68 61 |e..// It| also ha|
|00005f80| 73 20 74 68 65 20 6f 70 | 74 69 6f 6e 20 6f 66 20 |s the op|tion of |
|00005f90| 74 75 72 6e 69 6e 67 20 | 61 72 6f 75 6e 64 20 61 |turning |around a|
|00005fa0| 6e 64 20 61 73 6b 69 6e | 67 20 74 68 65 20 66 72 |nd askin|g the fr|
|00005fb0| 61 6d 65 0d 2f 2f 20 66 | 6f 72 20 61 20 64 69 66 |ame.// f|or a dif|
|00005fc0| 66 65 72 65 6e 74 20 66 | 72 61 6d 65 20 73 68 61 |ferent f|rame sha|
|00005fd0| 70 65 20 76 69 61 20 52 | 65 71 75 65 73 74 46 72 |pe via R|equestFr|
|00005fe0| 61 6d 65 53 68 61 70 65 | 2c 20 74 68 6f 75 67 68 |ameShape|, though|
|00005ff0| 20 69 74 0d 2f 2f 20 6d | 75 73 74 20 62 65 20 61 | it.// m|ust be a|
|00006000| 62 6c 65 20 74 6f 20 68 | 61 6e 64 6c 65 20 74 68 |ble to h|andle th|
|00006010| 65 20 73 68 61 70 65 20 | 69 74 20 69 73 20 67 69 |e shape |it is gi|
|00006020| 76 65 6e 2e 20 49 66 20 | 74 68 65 20 73 69 7a 65 |ven. If |the size|
|00006030| 20 6f 66 0d 2f 2f 20 74 | 68 65 20 66 72 61 6d 65 | of.// t|he frame|
|00006040| 20 69 73 20 6e 6f 74 20 | 73 75 66 66 69 63 69 65 | is not |sufficie|
|00006050| 6e 74 2c 20 74 68 65 20 | 70 61 72 74 20 6d 61 79 |nt, the |part may|
|00006060| 20 61 73 6b 20 74 68 65 | 20 63 6f 6e 74 61 69 6e | ask the| contain|
|00006070| 69 6e 67 0d 2f 2f 20 70 | 61 72 74 20 66 6f 72 20 |ing.// p|art for |
|00006080| 61 20 63 6f 6e 74 69 6e | 75 61 74 69 6f 6e 20 66 |a contin|uation f|
|00006090| 72 61 6d 65 20 76 69 61 | 20 43 72 65 61 74 65 45 |rame via| CreateE|
|000060a0| 6d 62 65 64 64 65 64 46 | 72 61 6d 65 2e 0d 0d 7b |mbeddedF|rame...{|
|000060b0| 0d 09 57 65 42 65 48 65 | 72 65 28 22 48 65 6c 6c |..WeBeHe|re("Hell|
|000060c0| 6f 50 61 72 74 3a 3a 46 | 72 61 6d 65 53 68 61 70 |oPart::F|rameShap|
|000060d0| 65 43 68 61 6e 67 65 64 | 22 29 3b 0d 0d 09 66 72 |eChanged|");...fr|
|000060e0| 61 6d 65 2d 3e 52 65 71 | 75 65 73 74 46 72 61 6d |ame->Req|uestFram|
|000060f0| 65 53 68 61 70 65 28 74 | 68 69 73 2d 3e 4d 79 47 |eShape(t|his->MyG|
|00006100| 65 74 46 72 61 6d 65 53 | 68 61 70 65 28 66 72 61 |etFrameS|hape(fra|
|00006110| 6d 65 29 29 3b 0d 09 74 | 68 69 73 2d 3e 4d 79 41 |me));..t|his->MyA|
|00006120| 64 6a 75 73 74 46 61 63 | 65 74 73 28 66 72 61 6d |djustFac|ets(fram|
|00006130| 65 29 3b 0d 09 66 72 61 | 6d 65 2d 3e 49 6e 76 61 |e);..fra|me->Inva|
|00006140| 6c 69 64 61 74 65 41 63 | 74 69 76 65 42 6f 72 64 |lidateAc|tiveBord|
|00006150| 65 72 28 29 3b 0d 7d 0d | 0d 0d 58 4d 50 53 68 61 |er();.}.|..XMPSha|
|00006160| 70 65 2a 20 48 65 6c 6c | 6f 50 61 72 74 3a 3a 4d |pe* Hell|oPart::M|
|00006170| 79 47 65 74 46 72 61 6d | 65 53 68 61 70 65 28 58 |yGetFram|eShape(X|
|00006180| 4d 50 46 72 61 6d 65 2a | 20 66 72 61 6d 65 29 0d |MPFrame*| frame).|
|00006190| 0d 2f 2f 20 54 68 69 73 | 20 69 73 20 6a 75 73 74 |.// This| is just|
|000061a0| 20 74 6f 20 63 65 6e 74 | 72 61 6c 69 7a 65 20 74 | to cent|ralize t|
|000061b0| 68 65 20 66 72 61 6d 65 | 20 73 68 61 70 65 20 63 |he frame| shape c|
|000061c0| 6f 64 65 2e 20 20 44 6f | 20 69 74 20 61 6e 79 20 |ode. Do| it any |
|000061d0| 77 61 79 0d 2f 2f 20 69 | 73 20 62 65 73 74 20 66 |way.// i|s best f|
|000061e0| 6f 72 20 79 6f 75 72 20 | 70 61 72 74 2e 0d 0d 7b |or your |part...{|
|000061f0| 0d 09 52 67 6e 48 61 6e | 64 6c 65 09 73 68 61 70 |..RgnHan|dle.shap|
|00006200| 65 52 67 6e 20 3d 20 66 | 72 61 6d 65 2d 3e 47 65 |eRgn = f|rame->Ge|
|00006210| 74 46 72 61 6d 65 53 68 | 61 70 65 28 29 2d 3e 47 |tFrameSh|ape()->G|
|00006220| 65 74 51 44 52 65 67 69 | 6f 6e 28 29 3b 0d 09 52 |etQDRegi|on();..R|
|00006230| 65 63 74 09 09 72 72 20 | 3d 20 28 2a 73 68 61 70 |ect..rr |= (*shap|
|00006240| 65 52 67 6e 29 2d 3e 72 | 67 6e 42 42 6f 78 3b 0d |eRgn)->r|gnBBox;.|
|00006250| 09 73 68 6f 72 74 09 09 | 68 68 20 3d 20 72 72 2e |.short..|hh = rr.|
|00006260| 62 6f 74 74 6f 6d 20 2d | 20 72 72 2e 74 6f 70 3b |bottom -| rr.top;|
|00006270| 0d 09 73 68 6f 72 74 09 | 09 77 77 20 3d 20 72 72 |..short.|.ww = rr|
|00006280| 2e 72 69 67 68 74 20 2d | 20 72 72 2e 6c 65 66 74 |.right -| rr.left|
|00006290| 3b 0d 0d 09 69 66 20 28 | 68 68 20 3e 20 77 77 29 |;...if (|hh > ww)|
|000062a0| 20 20 68 68 20 3d 20 77 | 77 3b 0d 09 69 66 20 28 | hh = w|w;..if (|
|000062b0| 68 68 20 3c 20 32 30 30 | 29 20 68 68 20 3d 20 32 |hh < 200|) hh = 2|
|000062c0| 30 30 3b 0d 0d 09 53 65 | 74 52 65 63 74 28 26 72 |00;...Se|tRect(&r|
|000062d0| 72 2c 20 30 2c 20 30 2c | 20 68 68 2c 20 68 68 29 |r, 0, 0,| hh, hh)|
|000062e0| 3b 0d 09 4f 70 65 6e 52 | 67 6e 28 29 3b 0d 09 46 |;..OpenR|gn();..F|
|000062f0| 72 61 6d 65 52 6f 75 6e | 64 52 65 63 74 28 26 72 |rameRoun|dRect(&r|
|00006300| 72 2c 20 34 30 2c 20 34 | 30 29 3b 0d 09 43 6c 6f |r, 40, 4|0);..Clo|
|00006310| 73 65 52 67 6e 28 73 68 | 61 70 65 52 67 6e 20 3d |seRgn(sh|apeRgn =|
|00006320| 20 4e 65 77 52 67 6e 28 | 29 29 3b 0d 0d 09 58 4d | NewRgn(|));...XM|
|00006330| 50 53 68 61 70 65 2a 20 | 6e 65 77 46 72 61 6d 65 |PShape* |newFrame|
|00006340| 53 68 61 70 65 20 3d 20 | 6e 65 77 20 58 4d 50 53 |Shape = |new XMPS|
|00006350| 68 61 70 65 3b 0d 09 6e | 65 77 46 72 61 6d 65 53 |hape;..n|ewFrameS|
|00006360| 68 61 70 65 2d 3e 53 65 | 74 51 44 52 65 67 69 6f |hape->Se|tQDRegio|
|00006370| 6e 28 73 68 61 70 65 52 | 67 6e 29 3b 0d 0d 09 72 |n(shapeR|gn);...r|
|00006380| 65 74 75 72 6e 20 6e 65 | 77 46 72 61 6d 65 53 68 |eturn ne|wFrameSh|
|00006390| 61 70 65 3b 0d 7d 0d 0d | 0d 76 6f 69 64 20 48 65 |ape;.}..|.void He|
|000063a0| 6c 6c 6f 50 61 72 74 3a | 3a 4d 79 41 64 6a 75 73 |lloPart:|:MyAdjus|
|000063b0| 74 46 61 63 65 74 73 28 | 58 4d 50 46 72 61 6d 65 |tFacets(|XMPFrame|
|000063c0| 2a 20 66 72 61 6d 65 29 | 0d 0d 2f 2f 20 47 69 76 |* frame)|..// Giv|
|000063d0| 65 6e 20 61 20 66 72 61 | 6d 65 2c 20 69 74 65 72 |en a fra|me, iter|
|000063e0| 61 74 65 20 74 68 72 6f | 75 67 68 20 61 6c 6c 20 |ate thro|ugh all |
|000063f0| 6f 66 20 74 68 65 20 66 | 61 63 65 74 73 20 61 6e |of the f|acets an|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.